必要な唯一のものは、端末を閉じたときに、コマンドがハングアップしてはならないということであれば、 (nohupコマンド&) と (nohupコマンド) でdiffernceは何nohupでコマンドを実行すると、nohupでコマンドを実行するとバックグラウンドで実行されるため、バックグラウンドでnohupを使用して実行します。
のですか?
上記の両方の声明がこれを達成します。
必要な唯一のものは、端末を閉じたときに、コマンドがハングアップしてはならないということであれば、 (nohupコマンド&) と (nohupコマンド) でdiffernceは何nohupでコマンドを実行すると、nohupでコマンドを実行するとバックグラウンドで実行されるため、バックグラウンドでnohupを使用して実行します。
のですか?
上記の両方の声明がこれを達成します。
最後の&
は、コマンドがバックグラウンドで実行されていることを示します。つまり、シェルにコマンドを入力し続けることができます。
あなたの特定の質問については、とにかく後で端末ウィンドウを閉じたいと思うので、それは何の違いもありません。
はい、シェルを終了できるようにするには、バックグラウンドで実行する必要があります。
Xウィンドウ環境では、端末エミュレータを閉じることができます。つまり、接続されているすべてのプログラムにHUP信号を送信する端末ウィンドウを閉じるだけです。このシグナルを無視するにはnohupが必要です。 – raimue
本当ではありません。 (nohupコマンド)は、ターミナルウィンドウで起動し、実行が開始された後に閉じると、強制終了されます。これをウィンドウで行い、閉じます。 (nohup sh -c "echo before; sleep 10; echo after") ファイルの "after"出力は表示されません。 – e40
実際には、nohup.outファイルの "after"が表示されています。これはまさに私が期待したものです。あなたが言うようになら、nohupコマンドは全く役に立たないでしょう。多分あなたの端末エミュレータは故障していて、何か他の信号を送りますか?あなたが言うように他の何がそれを殺すでしょうか?もしあなたが私を信じていなければ 'xterm'でこれをテストしてください。 – raimue
はい、私はnohupでコマンドを実行したがバックグラウンドではなかったので、Raimは正しいと思います。私は期待されるものを得た。ターミナルウィンドウを閉じた後でもコマンドが実行されていました – mandeep