国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 用shell脚本实现监控程序自动重启

用shell脚本实现监控程序自动重启

来源:程序员人生   发布时间:2015-05-06 08:36:56 阅读次数:3943次

很少用shell脚本,最近在写1个shell脚本,遇到1些问题,居然被折腾了半天。这些毛病太低级了,不应当.趁现在有时间,将履行该shell的脚本的全部进程记录下来,方便以后作为参考。

1、我们先看看编写的shell脚本的内容,该shell的作用主要是实现监控某个程序崩溃以后就自动重启该进程。

#!/bin/bash while true do procnum=` ps -ef|grep "test"|grep -v grep|wc -l` if [ $procnum -eq 0 ]; then /home/test& fi sleep 30 done


-eq意思是等于0,用于判断该test是不是还在运行状态。监控/home/test这个程序是不是运行。

 

2、由于该程序是window上的编写的,我们将它(名字用run._start.sh)拷贝到linux下以后需要对它赋予操作的权限

chmod 777 run_start.sh

 

3、我们将启动1下该程序

./run_start.sh &

记得加上&,要不然得窗口退了,该脚本也退出了。

 

3、发现运行的时候有毛病“-bash: ./run_start.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录” ,根据提示,我以为没有这个shell没有安装,所以找不到“/bin/bash”,其实理解毛病了,是linux上没法辨认window的doc格式。以后记住了,如果遇到这bad interpreter的毛病,1定要将字符做1下转换,方法以下:

1)编辑出错文件
        vi run_start.sh
 
2)查看该格式(报错文件格式是DOS)
        :set ff
3)修改格式
        :set ff=unix
 
4)保存退出
        :wq!

4、再重新运行脚本,可以看到正常了

 

 

 

 

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生