- 论坛徽章:
- 3
|
本帖最后由 demongunner 于 2014-01-28 19:07 编辑
脚本功能是先杀掉程序A和程序B,然后再先重启A,后重启B。
但是B有可能会重启失败,所以打算每个几秒检测一下知道B成功启动起来再退出脚本
目前遇到的问题是如果第一次没启动成功走到下面的while里面就会不停重启B程序
麻烦各位帮我看一下我这脚本是不是有问题,有的话问题出在哪呢?谢谢。
- ps -ef | grep "./testA -p 205" | grep -v grep
- if [ $? -eq 0 ];then
- #找到了
- ps -ef | grep "./testA -p 205" | grep -v grep | awk '{print $2}' | xargs kill -9
- ps -ef | grep "./testB -p 205" | grep -v grep | awk '{print $2}' | xargs kill -9
- else
- #没找到,
- ps -ef | grep "./testB -p 205" | grep -v grep
- if [ $? -eq 0 ];then
- #找到了
- ps -ef | grep "./testB -p 205" | grep -v grep | awk '{print $2}' | xargs kill -9
- fi
- fi
-
- ps -ef | grep "./testA -p 205" | grep -v grep
- if [ $? -ne 0 ];then
- #没找到,启动
- cd /home/test/bin
- ./testA -p 205&
- fi
-
- sleep 2
-
- ps -ef | grep "./testB -p 205" | grep -v grep
- if [ $? -ne 0 ];then
- #没找到,启动
- cd /home/test/bin
- ./testB -p 205&
- fi
-
- sleep 5
- echo "\n"
-
- ps -ef | grep "./testB -p 205" | grep -v grep
- while [ $? -ne 0 ]
- do
- cd /home/test/bin
- ./testB -p 205&
- sleep 5
- echo "\n"
- ps -ef | grep "./testB -p 205" | grep -v grep
- done
复制代码 |
|