我们通过调用shell脚本来运行它,在不同的机器上运行一个工具, 脚本在后台使用" nohup scriptname",由于某些原因,我不知道脚本在一段时间后停止,我想制作一个脚本继续检查脚本是否是停了下来又跑了。
我对shell脚本知之甚少,但突然出现了这个要求,我在谷歌搜索但没有得到正确的答案,请帮忙。
答案 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