2

もっとよく説明しましょう。Linux でコマンドを実行し、それが完了する前に、別のコマンドを入力できるようになる前に、ターミナルを閉じるとどうなりますか。それでもコマンドを実行しますか?

4

4 に答える 4

2

通常、端末を閉じるとコマンドがハングアップすることを想定する必要があります。しかし、恐れる必要はありません。Linux にもそれに対する解決策があります。

コマンドが確実に完了するようにするには、最初にnohup引数を使用します。やろうとしていることの前に置くだけです:

nohup ./some_program
nohup ./do_a_thing -frx -file input_file.txt
nohup grep "something" giant_list_of_files/* > temp_file.txt

このnohupコマンドは「ハングアップなし」の略で、ターミナルを閉じても、実行したコマンドが引き続き実行されるようにします。

于 2013-01-31T20:37:04.073 に答える
1

プロセスと環境 (ジョブ制御シェル オプション、VNC など) によって異なります。しかし、通常、いいえ。プロセスはオペレーティング システムから「ハングアップ」信号 (メッセージ) を受け取り、それを受け取ると終了します。

nohupたとえば、このコマンドは、プロセスが OS からのハングアップ信号を無視するように調整します。同じ結果を得るには多くの方法があります。

于 2013-01-31T20:38:34.387 に答える
1

セッションが終了する直前の状態で中止されると思います。

ジョブを確実に完了させたい場合は、nohup コマンドを使用する必要があります。

http://en.wikipedia.org/wiki/Nohup

nohups とデーモン (-d) について読む...

良いリンクは [link] nohup とデーモンの違いは何ですか?

于 2013-01-31T20:39:06.290 に答える