进程终止时执行命令

时间:2009-03-01 21:09:32

标签: bash

我希望在进程终止时执行命令。我已经有了解决方案,但我希望看看是否有更好的方法来进一步学习BASH。这就是我所拥有的:

$ ps -e | grep scp
 7673 pts/1    00:01:17 scp
$ while [ $( ps 7673 2>&1 >/dev/null; echo $? ) = 0 ]; do sleep 1; done; echo "Scp doesn't exist any more"

它有效,我见过更丑陋的解决方案。 :-)你对这一个或另一个更优雅的解决方案有任何改进吗?

1 个答案:

答案 0 :(得分:6)

$ (commandToWaitOn; commandToRunAfter) &

可选的'&'然后将这对放入背景中。

或者如果命令是独立启动的,请找到PID并使用

wait PID; commandToRunAfter