Nohupの学習ノート

2149 ワード

Nohupコマンドの原理:ジョブを開始する端末をこのジョブの制御端末と呼びます.ログアウトすると、一部のshell(デフォルトではbashではありません)がこれらのバックグラウンドジョブにSIGHUP信号を送信し、プロセスが終了します.このような動作を起こさないようにプロセスを保護するには、プロセスを開始するときにnohup。を使用します.
Unix/Linuxでは、例えば、あるプログラムをバックグラウンドで実行させたい場合、多くは&プログラムの最後にプログラムを自動的に実行させるために使用されます.例えばmysqlをバックグラウンドで実行します.
  /usr/local/mysql/bin/mysqld_safe --user=mysql &
しかし、私たちの多くのプログラムに参加してmysqldのようにデーモンプロセスを作るわけではありません.私たちのプログラムは普通のプログラムにすぎないかもしれません.一般的にこのプログラムは&エンディングを使用しますが、端末が閉鎖されると、プログラムも閉鎖されます.しかし、バックグラウンドで実行できるようにするには、testなどのnohupというコマンドを使用することができます.phpはバックグラウンドで実行する必要があり、バックグラウンドで定期的に実行したい場合はnohupを使用します.
  nohup/root/test.php &
ヒント:
  [~]$ appending output to nohup.out
はい、実行に成功したことを証明し、プログラム実行の出力情報を現在のディレクトリのnohupに置きます.outファイルに行きます.
添付:nohupコマンドリファレンス
Nohupコマンド
用途:コマンドを中断せずに実行します.
構文:nohup Command[Arg...][ & ]
説明:nohupコマンドは、Commandパラメータと関連するArgパラメータによって指定されたコマンドを実行し、すべての切断(SIGHUP)信号を無視します.ログアウト後にnohupコマンドを使用してバックグラウンドのプログラムを実行します.バックグラウンドのnohupコマンドを実行するには、&(「and」を表す記号)をコマンドの末尾に追加します.
Nohupコマンドの出力を端末にリダイレクトかどうかにかかわらず、出力は現在のディレクトリのnohupに付加される.outファイルにあります.現在のディレクトリのnohup.outファイルは書き込み不可で、出力は$HOME/nohupにリダイレクトします.outファイルにあります.追加用にファイルを作成または開くことができない場合は、Commandパラメータで指定したコマンドは呼び出せません.標準エラーが端末である場合、指定したコマンドが標準エラーに書かれたすべての出力を標準出力として同じファイル記述子にリダイレクトします.
≪終了ステータス|Exit Status|oem_src≫:コマンドは、次のエクスポート値を返します.
126 Commandパラメータで指定されたコマンドを検索できますが呼び出すことはできません.
127 nohupコマンドでエラーが発生したか、Commandパラメータで指定されたコマンドを検索できません.
それ以外の場合、nohupコマンドの終了状態はCommandパラメータ指定コマンドの終了状態です.
Nohupコマンドとその出力ファイル
nohupコマンド:プロセスを実行しており、アカウントを終了してもプロセスが終了しないと思う場合は、nohupコマンドを使用します.このコマンドは、アカウントを終了/終了した後、対応するプロセスを実行し続けることができます.Nohupは掛けないという意味です(n ohang up).
このコマンドの一般的な形式は、nohup command&
Nohupコマンドを使用してジョブをコミットする
Nohupコマンドを使用してジョブをコミットと、デフォルトではジョブのすべての出力がnohupという名前にリダイレクトされます.outのファイルには、出力ファイルが別途指定されていない限り、
  nohup command > myout.file 2>&1 &
上記の例では、出力はmyoutにリダイレクトする.fileファイルにあります.
ジョブを使用してタスクを表示します.
fg%nを使用して閉じます.
また、2つの一般的なftpツールncftpgetとncftpputがあり、バックグラウンドのftpアップロードとダウンロードを実現することができ、これらのコマンドを利用してバックグラウンドでファイルをアップロードとダウンロードすることができます.