本文主要是介绍[轻笔记] ubuntu Shell脚本实现监视指定进程的运行状态,并能在程序崩溃后重启动该程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
根据网上博客实现,发现只能监测进程离线,然后对其进行重启;然而,脚本无法打印程序正常状态的信息。自己通过不断修改测试,发现问题主要在重启程序的命令上(需要让重启的程序在后台运行,不然会影响监视脚本进程,使其无法正常工作)。具体程序如下:
#!/bin/bash
while [ 1 ] ; do
sleep 3if [ $(ps -ef|grep exe_name|grep -v grep|wc -l) -eq 0 ] ; then # 将exe_name替换成你想要监测的可执行程序名字sleep 1;echo "[`date +%F\ %T`] exe_name is offline, try to restart..." >> ./logs/check_es.log;./exe_name & # 将exe_name替换成你想要监测的可执行程序名字elseecho "[`date +%F\ %T`] exe_name is online..." >> ./logs/check_es.log;fi
done
note:
- 在后台运行shell脚本,只需在可执行文件后添加&,例如:
./exe_name &
- 如果不想把程序的打印信息输出到该终端,只需在可执行文件前添加nohub,例如:
nohup ./exe_name
这篇关于[轻笔记] ubuntu Shell脚本实现监视指定进程的运行状态,并能在程序崩溃后重启动该程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!