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下U盘文件只读的问题

    完美解决linux下U盘文件只读的问题

    下面小编就为大家带来一篇完美解决linux下U盘文件只读的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Linux线程退出方式总结(推荐)

    Linux线程退出方式总结(推荐)

    下面小编就为大家带来一篇Linux线程退出方式总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 如何使用Linux文本操作命令ed进行提权nov5详解

    如何使用Linux文本操作命令ed进行提权nov5详解

    这篇文章主要给大家介绍了关于如何使用Linux文本操作命令ed进行提权nov5的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • 详解Linux如何将一个文件夹的所有内容授权给某一个用户?

    详解Linux如何将一个文件夹的所有内容授权给某一个用户?

    这篇文章主要介绍了Linux如何将一个文件夹的所有内容授权给某一个用户,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Linux中使用crontab命令启用自定义定时任务实例

    Linux中使用crontab命令启用自定义定时任务实例

    本篇文章主要是介绍了Linux中使用crontab命令启用自定义定时任务实例,感兴趣的小伙伴们可以参考一下。
    2016-10-10
  • 详解Linux系统中的tempfs与/dev/shm

    详解Linux系统中的tempfs与/dev/shm

    /dev/shm是Linux非常有用的一个目录,它就是所谓的tmpfs,也可以称之为临时文件系统(不是块设备),类似oracle中的临时表空间一样,用于加速和优化系统。下面这篇文章主要给大家介绍了Linux系统中tempfs与/dev/shm的相关资料,需要的朋友可以参考下。
    2017-02-02
  • 简单了解Linux性能监控命令free

    简单了解Linux性能监控命令free

    这篇文章主要介绍了简单了解Linux性能监控命令free,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Linux中虚拟机宕机之后解决办法

    Linux中虚拟机宕机之后解决办法

    这篇文章主要介绍了Linux中虚拟机宕机之后解决办法的相关资料,这里提供详细的解决步骤来说明宕机该如何解决,需要的朋友可以参考下
    2017-08-08
  • Apache服务器中.htaccess的基本配置总结

    Apache服务器中.htaccess的基本配置总结

    这篇文章主要介绍了Apache服务器中.htaccess的基本配置总结,可以很方便地实现一些权限分配等效果,需要的朋友可以参考下
    2015-07-07
  • 一文详解Linux三种网络设置方式

    一文详解Linux三种网络设置方式

    我们在使用虚拟机搭建linux系统后,常常需要设置系统网络连接,以方便系统进行上网或其他系统连接系统进行操作,在linux中网络连接分了三类:桥接模式,仅主机模式,NAT模式,本文我们将对这三种模式进行讲解,感兴趣的同学可以参考阅读
    2023-06-06

最新评论