假设我刚刚启动了一个需要很长时间才能执行的命令,比如hg clone
整个 Pypy 开发集。执行到一半时,我决定hg up
在第一个进程返回后运行另一个进程,比如。有没有办法在进程返回时附加一个要执行的命令,而不用停止命令/进程,然后将其作为链式命令重新启动?命令/进程?
答案1
假设您正在使用bash
,并且假设您将长时间运行的任务放入当前 shell 的后台,通过运行longtask &
或启动任务然后按CTRL+ Z,那么您可以添加一个额外的命令来运行,例如:
$ sleep 45 &
[1] 27722
$ wait 27722 && echo "Done"
[1]+ Done sleep 45
Done
$
在上面的例子中,仅在 PID 27722echo "Done"
完成后才执行。wait
我还没有找到一种方法来将这个额外的命令放到后台,以便您继续在同一个 shell 中工作。但一定有办法做到这一点 - 希望这能给你一个开始。