Created
January 29, 2013 10:48
-
-
Save rch850/4663430 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nohup コマンドは、プロセスをデーモンとして動かすときの貧者の方法だ。 | |
Bruno Ranschaert が書いているように、インタラクティブシェルでコマンドを起動す | |
ると、それは制御ターミナルを持ち、制御プロセス(一般にログインシェル)が終了 | |
した時に SIGHUP (ハングアップ)シグナルを受け取る。nohup コマンドは、入力を | |
/dev/null として、出力とエラーを nohup.out に向けて、プログラムが割り込み、終 | |
了、ハングアップのシグナルを無視するようにする。制御ターミナルは同じものを持ち | |
続けるが、ターミナルからの制御を無視するようになる。バックグラウンドでプロセス | |
を動かしたい場合には、末尾の & などでシェルにそれを伝える必要がある。 | |
一般に nohup で動くプロセスは長時間動作するが、インタラクティブな入力を待機す | |
ることはない。 | |
一般に(気合で何とかしない限り)、デーモンプロセスはバックグラウンドで動作し、 | |
ターミナルから切断され、何らかの入力を受け付ける。ネットワークデーモンはコネク | |
ションの要求を受け付けたり、UDP のメッセージをネットワーク越しに受け付け、適当 | |
な処理をしてレスポンスを返す。Webサーバや DBMS を想像するといい。 | |
プロセスが完全にデーモン化すると、いくつかの nohup と同じ動作をする。I/O を再 | |
配置してターミナルと切り離し、プロセスグループから自身を切り離し、いくつかのシ | |
グナルを無視する(全てのシグナルを無視するわけではない)。一般には、一旦フォー | |
クして、元のプロセスは終了する。子プロセスは再びフォークし、プロセスグループと | |
セッションIDなどを書き換え、再度終了する。孫プロセスは自立して、ps に表示され | |
なくなる。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment