Linuxシステムのシェルを終了すると、通常、実行中のすべてのプロセスが終了するか、ハングアップします。 では、シェル/ターミナルを終了してもプロセスを実行し続けたい場合はどうすればよいですか? これがnohupコマンドの出番です。
Nohupコマンド
nohupは、no hang upの略で、シェルまたはターミナルを終了した後もプロセスを実行し続けるLinuxシステムのコマンドです。,
Nohupは、プロセスまたはジョブがSIGHUP(シグナルハングアップ)信号を受信するのを防ぎます。 これは、端末を閉じたり終了したりするときにプロセスに送信されるシグナルです。 このガイドでは、nohupコマンドを見て、それがどのように使用されるかを示します。,
Nohupコマンド構文
Nohupコマンド構文は次のとおりです。
nohup command arguments
または
nohup options
コマンドがどのように機能するかを見てみましょう
Nohupのバージョン
以下の構文を使用してNohupのバージョンを確認することから始めることができます
nohup --version
output
nohupを使用してプロセスを開始する
プロセス/ジョブを実行し続ける場合は、コマンドの前にnohup
以下に示すように。, ジョブは引き続きシェル内で実行され、シェルまたは端末を終了しても強制終了されません。, 次のように出力を別のファイルにリダイレクトすることを選択します
nohup ./hello.sh > output.txt
もう一度、ファイルを表示するには
cat output.txt
出力
ファイルと標準エラーと出力にリダイレクトするには、次のように > filename 2>&1
属性を使用します
nohup ./hello.sh > myoutput.txt >2&1
出力
nohupを使用してバックグラウンドでプロセスを開始
バックグラウンドでプロセスを開始するには、&
コマンドの最後にある記号。, この例では、pingを実行していますgoogle.com そして、それを背景に送信します。,id=”8516ed8814″>
Output
シェルを再開するときにプロセスをチェックするには、pgrep
コマンドを使用します
pgrep -a ping
Output
実行中のプロセスを停止または強制終了する場合は、kill
コマンドの後に次のようなプロセスidを使用します
kill 2565
出力
summary
- nohupコマンドを使用して実行されるすべてのプロセスは、シェルを終了するときでもsighupシグナルを無視します。,
- nohupコマンドを使用してジョブが開始または実行されると、ユーザーはstdinを使用できません。デフォルトでは、
nohup.out
がstdoutおよびstderrのデフォルトファイルとして使用されます。
Leave a Reply