如何在另一个命令完成后将命令排队运行?


9

有时,我启动一个需要很长时间才能完成的程序(emerge),然后意识到我应该上床睡觉而不是等待它。如果我一开始就知道这一点,我会跑

program; halt

但是,既然我已经启动了程序,如何在该过程完成后将计算机“计划”为关机?就Ctrl+z那么fg; halt行吗?

Answers:


15

是的,那行得通。

如果不确定,可以用

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"


2

另一种方法是仅halt在第一个命令运行时键入您的终端。只要第一个命令在某个时候不读取输入,它将位于终端的缓冲区中,并且当第一个程序结束时,shell会读取它


1

使用wait命令

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.