linux进程监控与自动重启的简单实现方法

 更新时间:2019年07月21日 10:28:48   作者:Jonathan  
这篇文章主要给大家介绍了关于linux进程监控与自动重启的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

目的:

linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能。

实现原理:

由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志。

crontab修改

# crontab -e
*/5 * * * * /mnt/bindmonitor.sh

/mnt/bindmonitor.sh 的实现

#! /bin/sh

host_dir=`echo ~`          # 当前用户根目录
proc_name="/home/wkubuntu/named/sbin/named"        # 进程名
file_name="/mnt/bindmonitor.log"       # 日志文件
pid=0

proc_num()            # 计算进程数
{
 num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
 return $num
}

proc_id()            # 进程号
{
 pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

proc_num
number=$?
if [ $number -eq 0 ]         # 判断进程是否存在
then 
 /home/wkubuntu/named/sbin/named -c /home/wkubuntu/named/etc/named.conf -n 1 &
              # 重启进程的命令,请相应修改
 proc_id           # 获取新进程号
 echo ${pid}, `date` >> $file_name  # 将新进程号和重启时间记录
fi

删除进程测试

a. #killall -15 named

b. 5分钟后,cat /mnt/bindmonitor.log看看有无最新的记录,进程号与# ps -ef |grep named 进程号对应。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • linux命令详解之rpm命令参数使用方法

    linux命令详解之rpm命令参数使用方法

    这篇文章主要介绍了linux中rpm命令参数的使用方法,需要的朋友可以参考下
    2014-02-02
  • Centos7学习之添加用户和用户组的方法

    Centos7学习之添加用户和用户组的方法

    本篇文章主要介绍了Centos7学习之添加用户和用户组的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Linux server配置安装Java与Tomcat服务器教程详解

    Linux server配置安装Java与Tomcat服务器教程详解

    这篇文章主要介绍了Linux server配置安装Java与Tomcat服务器教程详解,需要的朋友可以参考下
    2017-08-08
  • Linux中sudo、su和su -命令的区别小结

    Linux中sudo、su和su -命令的区别小结

    我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改。下面这篇文章主要给大家总结介绍了关于Linux中sudo、su和su -命令的区别的相关资料,需要的朋友可以参考下
    2018-09-09
  • 教你如何修改Linux远程登录欢迎提示信息

    教你如何修改Linux远程登录欢迎提示信息

    教你如何在Linux中创建登录欢迎提示信息,要登录或登录后的用户显示不同的警告或消息
    2018-03-03
  • 利用lynis如何进行linux漏洞扫描详解

    利用lynis如何进行linux漏洞扫描详解

    这篇文章主要给大家介绍了关于利用lynis如何进行linux漏洞扫描的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • linux中alarm函数的实例讲解

    linux中alarm函数的实例讲解

    今天小编就为大家分享一篇关于linux中alarm函数的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • 5分钟搭建一个WebRTC视频聊天

    5分钟搭建一个WebRTC视频聊天

    这篇文章主要介绍了WebRTC视频聊天,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 一行代码教你如何隐藏Linux进程

    一行代码教你如何隐藏Linux进程

    这篇文章主要介绍了一行代码教你如何隐藏Linux进程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • CentOS 6.5 环境实现本地局域网搭建YUM的方法【基于FTP】

    CentOS 6.5 环境实现本地局域网搭建YUM的方法【基于FTP】

    这篇文章主要介绍了CentOS 6.5 环境实现本地局域网搭建YUM的方法,结合实例形式分析了CentOS基于FTP本地局域网搭建YUM的具体步骤、相关命令与操作技巧,需要的朋友可以参考下
    2018-04-04

最新评论