- 论坛徽章:
- 0
|
切入主题:
假如我知道有进程A、B、C、D,我想知道它们在后台是否都在正常的运行,
ps查看进程:
1.如果进程 A、B、C、D 都正常运行,则睡眠;
2.如果进程 A、B、C、D 中有进程不在运行,则启动不在运行的进程;
请大家集思广益,这个脚本折腾了3三个星期了,不知道如果下手写。
=========================================
个人想法:请大家修改:
新建个零时文件,包含想要监控的进程名称:pro_temp 内容包括:
A
B
C
D
#! /bin/bash
ps -ef|grep **|grep -v grep > tempfile
#假如文件tempfile包括:
A
C
diff pro_temp tempfile|tail -n +2|tr -d '<' >tempfile1
#零时文件tempfile1内容:
B
D
#循环零时文件tempfile1,判断程序进程是否存在case循环中,如果在,则启动,
for LOOP in `cat tempfile1`
do
case $LOOP in
A)
start A
;;
B)
start B
;;
C)
start C
;;
D)
start D
;;
*)
exit 0
;;
esac
sleep 360
rm -f tempfile
rm -f tempfile1
done
问题:在shell脚本中,diff命令可以这么用吗???shell脚本中的diff命令如果对比系统中存在的文件。
[ 本帖最后由 ontherd 于 2009-4-14 15:11 编辑 ] |
|