System/Process
の履歴(No.6)
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
履歴一覧
差分
を表示
現在との差分
を表示
ソース
を表示
System/Process
へ行く。
1 (2012-11-05 (月) 09:40:46)
2 (2012-11-05 (月) 09:50:54)
3 (2012-11-10 (土) 23:20:00)
4 (2012-11-16 (金) 09:55:09)
5 (2012-12-02 (日) 00:05:40)
6 (2013-02-23 (土) 07:27:35)
7 (2017-11-05 (日) 06:28:04)
8 (2019-06-09 (日) 16:59:05)
Top
/
System
/
Process
目次
†
目次
プロセス管理
logoutしても jobをkillされたくないときは
nohup
disown
↑
プロセス管理
†
↑
logoutしても jobをkillされたくないときは
†
端末から起動したfooというjobが走っている途中で、その端末を終了すると、fooは終了してしまう。
これは端末終了時にシグナル SIGHUPがfooに送られるため。
job がSIGHUPを無視出来るようにすれば、端末が死んでもfooが死なないようになる。
↑
nohup
†
起動元の端末をlogoutすると、SIGHUPが投げられjobが終了してしまうが、 nohupの引数として起動したjobはSIGHUPを無視して稼働し続けるようになる。
$ nohup <command> [args...] [&]
優先度は+5 されるため、実行の割り当て時間はやや小さくなる。
標準出力が端末の場合、 標準出力と標準エラー出力は、 nohup.outに追加書き込みで出力される。
nohup.out に書き込めないときは、 ${HOME}/nohup.out へ追加書き込みする。
${HOME}/nohup.out にも書き込めない場合、
コマンドは実行されない
。
nohupはコマンドを自動ではバックグラウンドに送らないので、起動時に自分で
&
を付けてやる必要がある。
↑
disown
†
disown は、
bashの組み込みコマンドである
。
nohupを付けずに起動したコマンドを、後から SIGHUPを無視できるようにする。