web-dev-qa-db-ja.com

別のコマンドが終了した後に実行するコマンドをキューに入れる方法は?

時々私は終了するのに非常に長い時間がかかるプログラムを開始し(emerge)、それを待つのではなく寝るべきだと気づきます。そもそもこれを知っていれば走ります

program; halt

しかし、すでにプログラムを開始しているので、そのプロセスが終了したときにシャットダウンするようにコンピューターを「スケジュール」するにはどうすればよいですか? Ctrl+zそしてfg; halt大丈夫ですか?

9
phunehehe

もう1つの方法は、最初のコマンドの実行中にターミナルにhaltと入力することです。最初のコマンドがある時点で入力を読み取らない限り、それは端末のバッファに置かれ、最初のプログラムが終了したときにシェルがそれを読み取ります。

2
Michael Mrozek

waitコマンドの使用

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
1
Gaius