linux如何让程序被杀后重启,linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死...

. /etc/profile  #如果要把这个shell脚本放到crontab中,这句不能少,用来初始化程序环境变量,这是root用户的环境变量文件

PNAME="程序名字"    #引号不能少,因为程序名字后面可能会有空格和参数

PATHNAME=程序所在文件夹绝对路径LENGTH=`ps -ef|grep "$PNAME"|grep -v grep|cut -b 49-200|wc -c `  #引号不能少,同上

if test $LENGTH -eq 0

then

cd $PATHNAME

nohup $PNAME >/dev/null  &

fi

杀死进程(可能有多个,暂不考虑)

PNAME="程序名字"    #引号不能少,因为程序名字后面可能会有空格和参数

PATHNAME=程序所在文件夹绝对路径PID=`ps -ef|grep "$PNAME"|grep -v "grep"|awk '{print $2}'`

或者

PID=`ps -ef|grep "$PNAME"|grep -v "grep"|cut -b 10-15`#引号不能少,同上LENGTH=echo $PID|wc -cif test $length -ne 0

then

kill -9 $PID

fi

备注:

-eq 等于 -z 空串(if [ -z $filename2_size ] || [ -z $filename1_size ] || [ -z $filename0_size ]; then

echo 'no such files' )

-ne 不等于 = 两个字符相等

-gt 大于 != 两个字符不等

-lt 小于 -n 非空串

-le 小于等于

-ge 大于等于

命令1 && 命令2

&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;

换句话说,“如果这个命令执行成功&&那么执行这个命令”。

命令1 || 命令2

如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);

或者换句话说,“如果这个命令执行失败了|| 那么就执行这个命令”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值