php nginx exec kill,彻底杀死nginx并重启
这个标题其实不准确,我想表达的意思是:在检测到Nginx、httpd内存占用或系统负载较大时,自动重启相应进程。
为什么要这么大费周章?
1、为了自动化处理,在无人值守时一样能监控到系统状态并作出处置;
2、我们都知道,Nginx、httpd进程在使用service nginx restart命令时常常会出现意外,出现杀不死同时新进程也无法启动,最终反而使进程僵死,导致所有用户无法访问网站。所以需要先使服务停止,再检测是否还有同名服务,有的话再单独杀死;
3、为什么不周期性的重启?重启时会导致正在发起访问的用户得不到返回数据,所以重启应该尽量少做,所以只在其内存占用或系统负载较大时才做进程重启动作。
[php]#!/bin/sh
PID_MEM_MAX="85" #设置最大内存占用百分比
SYS_LOAD_MAX="5" #设置最大系统负载
NAME_LIST="httpd nginx" #设置需要监控的服务名称
for NAME in $NAME_LIST ;do
PID_MEM_SUM=0
PID_NUM_SUM=`ps aux | grep $NAME | wc -l`
PID_MEM_LIST=`ps aux | grep $NAME | awk '{print $4}'`
for PID_MEM in $PID_MEM_LIST
do
PID_MEM_SUM=`echo $PID_MEM_SUM + $PID_MEM | bc`
done
done
SYS_LOAD=`uptime | awk '{print $(NF-2)}' | sed 's/,//'` # 获取最近一分钟系统负载
echo " $(date +"%y-%m-%d %H:%M:%S") memory: $PID_MEM_SUM , load.avg: $SYS_LOAD" >>memuse.log
MEM_VULE=`awk 'BEGIN{print('"$PID_MEM_SUM"'>='"$PID_MEM_MAX"'?"1":"0")}'`
LOAD_VULE=`awk 'BEGIN{print('"$SYS_LOAD"'>='"$SYS_LOAD_MAX"'?"1":"0")}'`
if [ $MEM_VULE = 1 ] || [ $LOAD_VULE = 1 ] ;then
for NAME in $NAME_LIST ;do
service $NAME stop
sleep 2
for pid in $(ps -ef | grep $NAME | grep -v grep | awk '{print $2}'); do
echo $pid
kill -9 $pid
done
service $NAME start
done
fi;[/php]
将以上保存为load2kill.sh ,然后crontab -e添加定时任务(每10分钟检测1次):
[php]*/10 * * * * /data/www/load2kill.sh & >/dev/null[/php]
php nginx exec kill,彻底杀死nginx并重启相关推荐
- windows杀死nginx进程
查看80端口号列表 tasklist|findstr "80" 根据端口号查看nginx tasklist|findstr "28024" 杀死nginx进程 ...
- Nginx一:centos7安装Nginx、OpenResty
一.官网下载nginx 中文文档 https://www.nginx.cn/doc/ 1.使用wget命令下载(推荐) wget http://nginx.org/download/nginx-1.9 ...
- killall杀死nginx顽固进程
两种方法,最快的就是killall命令根据进程名字杀死.第二就是找到nginx的master进程杀死,ps aux | grep nginx查看master进程然后再杀死worker进程才行,很明显杀 ...
- Linux Nginx启动报错:Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.
目录 场景 报错 原因 解决 场景 systemd启动nginx systemctl start nginx.service 报错 报错第一行为 Failed at step EXEC spawnin ...
- 启动代码格式:nginx安装目录地址 -c nginx配置文件地址
启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /us ...
- linux裸机安装nginx,linux环境下安装nginx步骤 - 进击的乌龟 - 博客园
开始前,请确认gcc g++开发类库是否装好,默认已经安装. ububtu平台编译环境可以使用以下指令 apt- get install build- essential apt - get inst ...
- Nginx网站服务配置(Nginx服务基础,访问状态统计,访问控制,虚拟主机)
编译安装Nginx服务 关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 安装依赖包 编译安装Nginx 创建运行用户.组 检查.启动.重载配.停止Nginx 增加Nginx系统服 ...
- ajax nginx 转发 sessionid_Nginx:初识Nginx(概念、在Docker中安装Nginx、常用命令、配置文件) - 怀梦想,致远方...
1.Nginx初识 (1)概念 Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好 Nginx可以作为静态页面 ...
- Nginx网站服务(安装nginx,nginx访问配置)
目录 一,nginx概述 1,什么是nginx? 2,Nginx应用场景 3.,Nginx的httpd七层代理和四层代理 二,Nginx和Apache的区别 三,手工编译安装nginx服务 1,关闭防 ...
最新文章
- salesforce学习框架图
- 算法提高课-图论-有向图的强连通分量-AcWing 1174. 受欢迎的牛:tarjan算法求强连通分量、tarjan算法板子、强连通图
- 【阿里妈妈数据科学系列】第一篇:认识在线实验
- 用c语言写代码_教你如何用android mvp分层架构优雅写代码
- mysql 表结构反转_一道经典的MySQL面试题,答案出现三次反转
- linux pxe服务器的配置,pxe http安装linux 配置
- CANoe教程:CAPL编程
- 基于QT实现的钢琴软件 (MFC大作业)
- 学神经网络需要什么基础,神经网络从入门到精通
- 输入一段字符串,记录当中有多少数字,大写字母,小写字母
- (十)损失函数与反向传播
- 虚幻引擎中蓝图间的几种通信方式
- UiPath 网页元素识别
- 操作系统:磁盘调度算法FCFS算法(c语言)
- 中啦 Computers in Biology and Medicine(CIBM)-- 投稿经验分享
- 2021章节练习基础(案例精选)30-40
- html/template
- 8月起,《PMBOK®指南(第七版)》将被采用,考PMP的注意了!
- vue关于element日历calendar组件上月、今天、下月、日历块点击事件
- java国际象棋,java – 国际象棋中casteld的实现
热门文章
- 山西职称计算机考试报名时间 2014,2014山西省6月份职称计算机考试报名入口
- python三种数据类型详解_最全面的Python数据类型知识点讲解
- Keras + Windows +Anaconda2-4.2.0 深度学习框架快速搭建
- 比尔盖茨的十句话,让你改变一生
- 长时间整理的xhtml网页设计规范
- 关于Jquery的parent和parents
- 词法分析(3)---DFA
- Java中字符串和数字间转换
- 浅谈malloc,calloc,realloc函数之间的区别
- 手写简版spring --9--对象作用域和FactoryBean