プログラムをバックグラウンドで実行する

プログラムをバックグラウンドで実行したい場合は、コマンドの後ろに&(アンパサンド)を付けて実行する。

sleep 60 &
[1] 7333

7333はプロセスIDを指す。 端末上では他のプログラムの実行を受け付ける状態になっている。

この方法で実行したプロセスは、ログアウトなど端末の接続が切れたタイミングでkillされる。

ログアウトしてもバックグラウンド実行を続けたい場合は、nohupコマンドを使う nohupコマンドで実行した場合は、HUPシグナルを無視する。

nohup sleep 5 &

rc.localなどで起動時に無限ループなどで永続するプログラムを実行する場合も、& を付けてバックグラウンドで実行する。 フォアグラウンドで実行すると起動シーケンスで止まったままになってしまうので注意。


スポンサーリンク