システム上で重要なプロセスが実行されていて、長い時間がかかる場合を想像してみてください。 突然、システムからログアウトする必要があります。 ログアウトすると、プロセスは停止し、確かにこれを避けたいと思うでしょう。 実行中のプロセスを中断することなく継続したい場合は、nohupコマンドが必要です。
Nohup(no hangupの略)は、HUP信号を無視するコマンドです。 あなたはHUP信号が何であるか疑問に思うかもしれません。, これは基本的に、関連するシェルが終了したときにプロセスに配信されるシグナルです。 通常、ログアウトすると、実行中のすべてのプログラムとプロセスがハングアップまたは停止します。 現在のシェルからログアウトまたは切断した後でもプロセスの実行を継続したい場合は、nohupコマンドを使用できます。 ログアウト後でもプログラムを実行させるために、プロセスをHUPシグナルに対して免疫があります。 Nohupを使用すると、プロセスが完了するのを待つだけで、長い間ログインする必要がなくなります。,
この記事では、LinuxのさまざまなシナリオでNohupコマンドを使用する方法について説明します。,nohupコマンドをガーディングするには、次のコマンドを使用します。
nohupのバージョン情報を見つけるには、次のコマンドを使用します。
Nohupを使用してプロセスを開始します。
シェルを終了してもコマンドまたはプロセスを実行し続けたい場合は、nohupの後にコマンドを実行します。
上記のコマンドを実行すると、すべての出力がエラーメッセージとともにnohupに追加されます。,ホームディレクトリまたは現在のディレクトリのoutファイル。 これで、シェルが閉じられた場合、またはログアウトした場合、上記で実行されたコマンドは終了しません。
出力を別のファイルにリダイレクトする
デフォルトでは、nouhupコマンドの出力がnohupに追加されます。アウトファイル。 この出力を他のファイルにリダイレクトするには、>リダイレクタ演算子を使用し、その後に特定のファイルの名前を付けます。 たとえば、次のコマンドを使用して、nohupコマンドの出力を”という名前の新しいファイルに保存しましたmyscript.sh”.
Nohupを使用してバックグラウンドでプロセスを開始します
プロセスを開始してバックグラウンドでプロセスを配置するには、次のようにnohupを使用する必要があります。
&シンボルは、バックグラウンドでコマンドを実行するようにシェルに指示します。 これは、セッションが終了するとすぐにシェルプロンプトに戻ることを除いて、上記のnohupコマンドと似ています。 最前線に戻すには、”fg”コマンドを使用します。,
実行するすべてのコマンドの出力がnohupに追加されます。アウトファイル。 このファイルは、ターミナルでcat nohupコマンドを使用して表示できます。 上のスクリーンショットの番号80132は、バックグラウンドで実行されているプロセスのプロセス識別番号(PID)を示します。
Nohupを使用してバックグラウンドで複数のプロセスを開始
nohupコマンドを使用して、バックグラウンドで複数のコマンドを実行できます。 次の例では、mkdir、ping、およびlsコマンドは、nohupコマンドを使用してバックグラウンドで実行されます。,
ping-c1google.com &&ls’>出力します。txt
バックグラウンドで実行されているプロセスを終了
バックグラウンドで実行されているプロセスを終了するには、次のようにkillコマンドを使用します。
nohupを”&”。, PIDを見つける別の方法は、pgrep–aコマンドを使用することです。 たとえば、NohupでPingコマンドを実行した場合、シェルを閉じてもバックグラウンドで実行され続けます。 この場合、バックグラウンドで実行されているPingプロセスのPIDを見つけるには、次のコマンドを使用します。
Pingコマンドに関連付けられているすべてのプロセスがリストされます。,
バックグラウンドで実行されているPingプロセスを終了するには、次のようにkillコマンドを使用します。$kill-9 80928so、これはLinuxのnohupコマンドの簡単な紹介でした。 Nohupコマンドの発生を防ぐために利用される重要なプロセスから解除のみなさんに満足していただけは明することは重要である。 プロセス、特に完了するのに時間がかかるスクリプトを実行しているときに多くのことが役立ちます。