grep判断进程是否存在
grep在linux shell中的应用–判断进程是否存在,进程若不存在则重启1,进程判断没有运行进程时,如下显示,只有一条,这条就是这条命令的进程。ps -aux |grep nginxroot36210.00.0121121072 pts/0S+15:010:00 grep --color=auto nginx如果进程存在就会显示多条进程信息,其中一条包括上述命令这条。所以判断是否存在,只要判
·
grep在linux shell中的应用–判断进程是否存在,进程若不存在则重启
1,进程判断
没有运行进程时,如下显示,只有一条,这条就是这条命令的进程。
ps -aux |grep nginx
root 3621 0.0 0.0 12112 1072 pts/0 S+ 15:01 0:00 grep --color=auto nginx
如果进程存在就会显示多条进程信息,其中一条包括上述命令这条。
所以判断是否存在,只要判断数量即可,命令为:
ps -aux |grep nginx |wc -l
进程数如果大于1的话,则进程存在,否则不存在。
ps -aux |grep nginx|wc -l
7
2,脚本内容
下面是最简单的判断,如果进程的数量小于等于1,则进程不存在,然后重启。
#/root/nginxexist.sh的内容
#!/bin/bash
procnumber=$(ps -aux |grep -w nginx|wc -l) #这里grep加上了-w参数意为精确匹配
if [ ${procnumber} -le 1 ];then
systemctl restart nginx
fi
shell中判断相关参数:
-eq:等于
-ne:不等于
-le:小于等于
-ge:大于等于
-lt:小于
-gt:大于
3,定时任务
脚本完成后,需添加系统定时任务。
每隔10分钟检查一下nginx进程是否存在,如不存在,重启。否则
crontab -e
#添加脚本位置,分10分钟执行一次
*/10 * * * * /bin/bash /root/nginxexist.sh
更多推荐
已为社区贡献1条内容
所有评论(0)