【问题标题】:Perform a command when a process dies当进程死亡时执行命令
【发布时间】:2010-10-10 16:11:20
【问题描述】:

我想在进程死亡时执行命令。我已经有了一个解决方案,但我正在寻找是否有更好的方法来做这件事作为进一步学习 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"

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

【问题讨论】:

    标签: bash


    【解决方案1】:

    $ (commandToWaitOn; commandToRunAfter) &?

    可选的 '&' 并将该对置于后台。

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

    wait PID; commandToRunAfter
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 2014-09-16
      • 2018-05-15
      相关资源
      最近更新 更多