理由はわかりませんが、screen
サーバー上で実行されていたコマンドはそれ自体停止しました。だから、例えば次のように使ってみましたnohup
。
nohup bzcat a.bz
しかし、走るとnohup
私に
nohup: ignoring input and appending output to `nohup.out'
また、再開するには、fg
次を実行します。
-bash: fg: current: no such job
答え1
メッセージはnohup
完全に大丈夫です。ただそれが何をしているのかを説明するだけです。 nohupを使用してプログラムを実行すると、端末に入力した内容は使用されなくなり、端末に何も印刷されません。nohup
プログラムの出力をnohup.out
。
nohup
これは、バックグラウンドで実行されるプログラム(バックグラウンドで実行されている場合bzcat a.bz &
)とはかなり異なります。プログラムがバックグラウンドで実行されている場合、端末の入力は無視されます。 (フォアグラウンドで実行されているプログラムだけが端末に入力した内容を使用できます。これがユーザーが実際にやり取りするプロセスなので、「フォアグラウンド」プロセスと呼ぶ理由です。 with process) with) が端末に出力されます。 nohupモードとバックグラウンドでプログラムを実行できます。実際には通常、このようにnohup
使用されます。プログラムがあるがnohup
バックグラウンドで起動しないと、fg
実際にはバックグラウンドではないので呼び出すことはできません。端末に出力されません。
nohup
信号を無視するモードでプログラムを実行できますHUP
。HUP
端末は通常、端末を閉じると信号を送信します。したがって、nohupモードでバックグラウンドで実行されているプログラムは、そのプログラムを起動した端末を閉じても停止しません。