700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux下用脚本语言开发自动重启程序

linux下用脚本语言开发自动重启程序

时间:2023-11-04 12:42:45

相关推荐

linux下用脚本语言开发自动重启程序

由于最近要负责一个项目的维护工作,这个服务器总是出现段错误,由于时间比较紧张,我就写了一个简单的重启脚本,先让服务器不至于总是dump掉。

废话不多说,先上代码:

#!/bin/shCheckProcess(){if [ "$1" = "" ];then return 1fiPROCESS_NUM=$(ps -ef|grep "$1"|grep -v "grep"|wc -l)if [ "$PROCESS_NUM" = "1" ]; # test not workthenreturn 0elsereturn 1fi}while [ 1 ]; doCheckProcess "./test"CheckQQ_RET=$?if [ "$CheckQQ_RET" = "0" ];thenkillall -9 testexec ./test &echo "restart test again!"fisleep 1done

脚本比较简单,主要参考了/viewarticle.php?id=20338。

shell脚本对程序的格式要求相当严格,这个在编程的过程中要特别注意。

另外,

1. PROCESS_NUM=$(...) 也可以用PROCESS_NUM=' ... ' ;

2.判断条件中的"$CheckQQ_RET" = "1" 也可以改成 $CheckQQ_RET -eq 1。

由于初学shell,花了一下午时间把这个程序调通了,服务器总算能跑起来了,呵呵。

除此之外,为了实现同步,有的时候需要定时重启程序。下面给出的一段代码能实现两个功能:

1. 程序崩溃了,重启;

2. 半小时自动重启程序。

#!/bin/shexec ./test&while [ 1 ]; doPROCESS_NUM=$(ps ax|grep test | grep -v "gedit" | grep -v " grep" | wc -l)if [ "$PROCESS_NUM" = "0" ]thenkillall -9 testexec ./test&fi$a=$($a+10)if ["$a" = "1800"];thena=0killall -9 testexec ./test&fisleep 10done

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。