Debian vps进程监控并自动重启

文章目录

使用过lnmp一键包的同学可能很多都遇到502错误,解决502错误比较好的一个方法是定时重启php进程。由于linux的机制,进程占用过多内存时会被kill掉,此时也需要重启该进程。今天tennfy来介绍下如何对debian vps中进程进行监控并自动重启

进程监控脚本

1、确定进程名

运行想要监控的程序之后,执行以下命令:

1
ps -ef

会列出系统中所有的进程,在CMD一列里找到该程序对应的进程名。

2、进程监控脚本

在root目录下新建monitor脚本

1
vi /root/monitor.sh

添加以下内容,注意将procname替换为待监控的进程名,/etc/init.d/procname restart替换为该进程的重启命令

1
2
3
4
5
6
7
8
9
10
#! /bin/sh
 
proc_name="procname"                             # 待监控进程名
 
number=`ps -ef | grep $proc_name | grep -v grep | wc -l`
 
if [ $number -eq 0 ]                             # 判断进程是否存在
then 
	/etc/init.d/procname restart               # 重启进程的命令,请相应修改	
fi

添加完成后,输入:wq保存修改。

设置可执行权限

1
chmod a+x /root/monitor.sh

添加到crontab定时任务

设置好脚本之后,添加到crontab定时任务中,每分钟执行一次脚本

1
2
echo "* * * * * root /root/monitor.sh >/dev/null 2>&1" >>/etc/crontab
/etc/init.d/cron restart

小结

如果你希望监控多个进程程序,添加多个脚本即可,该方法非常实用,很多时候都能用到。

本文出自 TENNFY博客,转载时请注明出处及相应链接。

本文永久链接: https://www.tennfy.com/3517.html

下一篇文章:

上一篇文章:

9人参与了讨论

  1. 469589757 说:

    是只要第三行的procname替换成进程名字,
    还是第九行和第三行的procname都需要替换为待监控的进程名?

  2. minhr 说:

    您好,您知道如果是centos,grep命令应该如何执行吗?谢谢

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

2 + 6 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部