检查nohup脚本是否正在运行或启动它

时间:2014-11-11 09:55:50

标签: bash shell scripting

我们通过调用shell脚本来运行它,在不同的机器上运行一个工具, 脚本在后台使用" nohup scriptname",由于某些原因,我不知道脚本在一段时间后停止,我想制作一个脚本继续检查脚本是否是停了下来又跑了。

我对shell脚本知之甚少,但突然出现了这个要求,我在谷歌搜索但没有得到正确的答案,请帮忙。

1 个答案:

答案 0 :(得分:1)

这是一个简单而有效的解决方案。

首先,必须再次运行的脚本,让我们称之为bar.sh

#! /bin/bash

echo "bar is living"
sleep 5
echo "bar is dying"
exit

其次,运行bar.sh并监视他的死亡的脚本称为foo.sh

#! /bin/bash

while true ; do

    echo "Running bar ..."
    ./bar.sh &

    echo "Waiting bar's termination"
    wait
done

现在只需输入终端:

$ chmod +x foo.sh bar.sh
$ ./foo.sh