linux下通过脚本实现自动重启程序

 更新时间:2006年10月24日 00:00:00   作者:  

    无论什么程序都不可能完美无缺,理论上,任何程序都有Core Dump的一天,正式运营的程序,尤其是服务器程序,一旦Core Dump,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批。所以,程序发生错误时自动重启变得很重要。这里集中讨论linux实现自动重启程序的方法。

    linux下实现程序的自动重启有很多方法,这里我们介绍的是通过自己写脚本来实现,

    自动重启脚本

假定需要实现重启的程序名为 test ,我们这里通过判断进程数目来判断程序是否正常。

ps -ef | grep "$1" | grep -v "grep" | wc –l 是获取$1(本例中为test)的进程数,脚本根据进程数来决定下一步的操作。通过一个死循环,每隔1秒检查一次系统中的指定程序的进程数。

代码如下:
    脚本check

 

#!/bin/sh
#-----------------------------------# 函数: CheckProcess# 功能: 检查一个进程是否存在# 参数: $1 --- 要检查的进程名称# 返回: 如果存在返回0, 否则返回1.#---------------------------------------CheckProcess(){  # 检查输入的参数是否有效  if [ "$1" = "" ];  then    return 1  fi    #$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动  PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`   if [ $PROCESS_NUM -eq 1 ];  then    return 0  else    return 1  fi}
# 检查test实例是否已经存在while [ 1 ] ; do CheckProcess "test" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 杀死所有test进程,可换任意你需要执行的操作  killall -9 test  exec ./test &   fi sleep 1done
 

 

    脚本start:
    加入limit coredumpsize 102400,设置core file的大小,一旦程序Core Dump,有迹可寻。在该脚本中后台执行check脚本,可以省去很多麻烦,


#!/bin/cshlimit coredumpsize 102400
./check &

相关文章

  • mysql安装笔记

    mysql安装笔记

    mysql安装笔记...
    2007-02-02
  • 日常整理linux常用命令大全(收藏)

    日常整理linux常用命令大全(收藏)

    这篇文章是小编给大家日常收集整理的有关linux命令知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Linux 下rename 命令的用法

    Linux 下rename 命令的用法

    刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望各位博友指正!
    2008-04-04
  • Linux家用版1.0使用体会

    Linux家用版1.0使用体会

    Linux家用版1.0使用体会...
    2006-10-10
  • Linux命令技巧之30个必会的命令技巧

    Linux命令技巧之30个必会的命令技巧

    在Unix/Linux下,高效工作方式是命令行操作,本文讲述了Linux下的查找,删除,打包,解压,查询及VIM等30个常用命令技巧
    2018-09-09
  • 详解Linux 常用命令 pwd cd的使用

    详解Linux 常用命令 pwd cd的使用

    cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的,pwd 命令来查看”当前工作目录“的完整路径。所以说学习linux常用命令,首先学好cd pwd命令的使用方法
    2017-12-12
  • 循序渐进学习LINUX之软件配置

    循序渐进学习LINUX之软件配置

    循序渐进学习LINUX之软件配置...
    2006-10-10
  • 克隆虚拟Linux后ip找不到的解决方法

    克隆虚拟Linux后ip找不到的解决方法

    使用VMware虚拟机的的克隆功能,快速的复制带有各种配置的Linux系统。会发现复制后的虚拟系统没有eth0网卡。接下来脚本之家小编给大家带来了克隆虚拟Linux后ip找不到的解决方法,需要的朋友参考下吧
    2017-03-03
  • Linux的认识存在的一些误区

    Linux的认识存在的一些误区

    Linux的认识存在的一些误区...
    2006-10-10

最新评论