logo

Linux の nohup コマンドと例

Linux のすべてのコマンドは実行時にプロセスを開始し、ターミナルを終了すると自動的に終了します。 SSH 経由でプログラムを実行しているとします。接続が切断されると、セッションは終了し、実行されているすべてのプロセスが停止し、予期せぬ重大な危機に直面する可能性があります。このような場合、バックグラウンドでコマンドを実行すると、ユーザーにとって非常に役立ちます。 nohupコマンド が入ってきます。 nohup (ハングアップなし) Linux システムのコマンドで、シェル/ターミナルからログアウトした後でもプロセスを実行します。

Nohupコマンド

通常、Linux システムのすべてのプロセスには、 SIGHUP (シグナルハングアップ) ターミナルを閉じたり終了した後にプロセスを終了する責任があります。 Nohup コマンドは、ターミナル/シェルを閉じるか終了するときにプロセスがこのシグナルを受信できないようにします。 nohup コマンドを使用してジョブが開始または実行されると、 標準入力 ユーザーは利用できなくなり、 nohup.out ファイルはデフォルトのファイルとして使用されます 標準出力 そして 標準エラー 。 nohup コマンドの出力が他のファイルにリダイレクトされる場合、 nohup.out ファイルは生成されません。



Nohup コマンド構文

Nohup コマンドを使用するための構文は簡単です。

JavaでCSVファイルを読み取る方法
nohup command [options] &>
  • `command`> : 実行するコマンドまたはスクリプトを指定します。
  • `[options]`> : コマンドの動作を変更するオプションの引数またはフラグ。
  • `&`> : コマンドの最後にアンパサンド (&) を置くと、バックグラウンドでコマンドを実行するようにシェルに指示されます。

nohup コマンドの使用

Nohupのバージョンを確認する

Nohup のバージョンを確認するのは簡単なプロセスです。通常、システムにインストールされている Nohup のバージョンを確認するには、` --version`> フラグ。次のコマンドを実行するだけです。



nohup --version>

出力:

Nohup を使用したプロセスの開始

Nohup を使用してプロセスを開始するには、目的のコマンドの先頭に次の文字を追加するだけです。nohup>。たとえば、次の名前の bash スクリプトを実行する場合、geekfile.py>Nohup を使用する場合は、次のコマンドを使用します。



nohup bash geekfile.sh>

出力:

Javaのインスタンス

出力をにリダイレクトするには、 出力.txt ファイル:

nohup bash geekfile.sh>出力.txt>> 

出力:

intを文字列Javaに変換する方法

Nohup を使用してバックグラウンドでプロセスを開始する

コマンドをバックグラウンドで実行するには、「 &’ 記号はコマンドの最後に追加されます。実行後、バックグラウンドでコマンドを実行した後、シェル コマンド プロンプトに戻りません。を使用して最前面に戻すことができます。 フロム 指示。

出力:

注記: 角括弧内の数字は、 ジョブID そしてその隣の数字は プロセスID

複数のコマンドをバックグラウンドで実行するには

nohup コマンドを使用すると、バックグラウンドで複数のコマンドを実行できます。

nohup bash -c 'commands'>

例:

nohup bash -c 'cal && ls'>

出力:

ここで、出力はデフォルトで次の場所に保存されます。 nohup.out 。リダイレクトするには、次のように入力します。

nohup bash -c 'commands'>ファイル名.txt>> 

例:

出力.txt>>

出力:

文字列をJavaに変換する

Linux の nohup コマンド – FAQ

とは何ですか nohup> Linux のコマンド、そしてそれは何をするのでしょうか?

nohup> コマンドはノーハングアップを表します。これを使用すると、ログアウトしたりターミナルを閉じた後でも実行を継続できるような方法でコマンドまたはシェル スクリプトを実行できます。これにより、端末セッションの終了時にコマンドが終了することがなくなります。

ワンパスワールド

どうやって使うのですか nohup> 指示?

使用するには nohup> を実行するコマンドの先頭に追加するだけです。例えば:

&> 末尾の 記号を使用すると、コマンドがバックグラウンドに置かれ、コマンドの実行中もターミナルを使用し続けることができます。

どこでやる nohup> コマンドの出力を送信しますか?

デフォルトでは、 nohup> 標準出力 (stdout) と標準エラー (stderr) の両方を という名前のファイルにリダイレクトします。 nohup.out> 現在のディレクトリにあります。必要に応じて、別の出力ファイルを指定できます。

使ってもいいですか nohup> 対話型コマンドまたはプログラムを使用しますか?

その間 nohup> 通常、非対話型コマンドまたはスクリプトで使用されますが、対話型コマンドでも使用できます。ただし、特にコマンドがユーザーからの入力を期待している場合、動作は予測できない場合があります。一般的には使用を避けることをお勧めします nohup> インタラクティブなプログラムで。

で実行中のコマンドのステータスを確認するにはどうすればよいですか? nohup> ?

以来 nohup> コマンドをバックグラウンドで実行すると、次のような標準の Linux ツールを使用できます。 ps> または top> プロセスのステータスを確認します。例えば:

ps aux | grep>

これにより、PID (プロセス ID) を含むプロセスに関する情報が表示され、コマンドの管理または監視に使用できます。

結論

Linux では、コマンドを実行すると、通常、ターミナルを閉じると停止します。しかし、 nohup> 、ターミナルを閉じた後でも実行し続けることができます。これは、特にコマンドをリモートで実行していて、接続が切断された場合にコマンドを停止したくない場合に非常に便利です。nohup>通常はコマンドを停止する信号からコマンドをシールドすることで機能します。追加するだけですnohup>コマンドの前に実行すると、それは続行されます。コマンドの出力をファイルに送信することもできます。非対話型タスクに最適であり、次のようなツールを使用してコマンドのステータスを確認できることを覚えておいてください。ps>。それで、nohup>はコマンドのセーフティ ネットのようなもので、あなたが見ていないときでもコマンドが継続的に実行されるようにします。