
時々私は完了するのに長い時間がかかるプログラムを始めましたが、(emerge
)それを待たずに寝る必要があることに気づきました。これを最初から知っていたら走ったでしょう。
program; halt
しかし、プログラムを起動しましたが、プロセスが完了したらコンピュータがシャットダウンするように「予約」するにはどうすればよいですか?Ctrl+z
それでは大丈夫ですかfg; halt
?
答え1
はい、可能です。
不明な場合は、次のコマンドでテストできます。
sleep 15
Ctrl+z
fg; echo "it works"
答え2
halt
別の方法は、最初のコマンドの実行中に端末に入力することです。最初のコマンドがある時点で入力を読み取らない限り、端末のバッファに格納され、シェルは最初のプログラムが入力を読み取った状態で終了します。
答え3
wait
コマンドの使用
$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+ Done sleep 10
hello