分页: 1 / 1

[原创]我的进程管家

发表于 : 2007-08-04 7:33
co2co
因为一次mldonkey意外挂掉(但我不得不说它平时的稳定性是很好的),导致我产生了监控它的想法。
于是,这段东西诞生了。

代码: 全选

#!/bin/sh

mywar=1

while [ $mywar>0 ]
do
		ps -e > myps.log

		if [  'grep -c mlnet  myps.log'=0 ];then
			echo We got problem.I will try to fix it. >> ~/checkMK.log
			date >> checkMK.log
			~/download/mldonkey-distrib-2.8.7/mlnet
		fi
done
初学shell,写得不好。

发表于 : 2007-08-04 7:53
laborer
没用过mldonkey,如果mlnet会自动到后台运行的话,你这个程序将把cpu占满;如果mlnet不会自动到后台,这个程序就没必要这么复杂了。

发表于 : 2007-08-04 13:31
co2co
laborer 写了:没用过mldonkey,如果mlnet会自动到后台运行的话,你这个程序将把cpu占满;如果mlnet不会自动到后台,这个程序就没必要这么复杂了。
的确是这样的,当Mldonkey正在运行的时候(我也不懂是前台还是后台)运行这个脚本会导致系统负载上升严重,由0.17升至2.1。但是,如果在当前没有运行Mldonkey的情况下运行,它除了运行这个程序外还可以一直保持监视状态而不会导致明显的负载增加。我也不明白两者的区别在哪里。

发表于 : 2007-08-09 12:30
bones7456
给你个建议的方案 :D
#!/bin/sh

mywar=1

while [ $mywar>0 ]
do
ps -e > myps.log

if [ 'grep -c mlnet myps.log'=0 ];then
echo We got problem.I will try to fix it. >> ~/checkMK.log
date >> checkMK.log
~/download/mldonkey-distrib-2.8.7/mlnet & #加&转到后台运行
fi
sleep 5; #每5秒钟检查一次
done