Linuxのnohupコマンド

1917 ワード

目次

  • nohup
  • 構文
  • &
  • 構文
  • nohup


    nohupコマンド:プロセスを実行しており、アカウントを終了してもプロセスが終了しない必要がある場合は、nohupコマンドを使用します.このコマンドは、アカウントを終了/終了した後、対応するプロセスを実行し続けることができます.
    Nohupはno hang upの略で、切らないという意味です.

    構文


    Nohupコマンドは、Commandパラメータと関連するArgパラメータによって指定されたコマンドを実行し、すべての切断(SIGHUP)信号を無視します.
    nohup Command [ Arg … ]
    

    注意:nohupはbash内蔵の命令をサポートしていません.そのため、あなたの命令は必ず外部の命令でなければなりません.Nohupコマンドの出力を端末にリダイレクトかどうかにかかわらず、出力は現在のディレクトリのnohupに付加される.outファイルにあります.現在のディレクトリのnohup.outファイルは書き込み不可で、出力は[~/nohup.out]ファイルにリダイレクトします.追加のためにファイルを作成または開くことができない場合は、Commandパラメータで指定したコマンドは呼び出せません.

    &


    &このコマンドがターミナルのバックグラウンドで動作することを示します.逆に、&がない場合は、このコマンドがターミナルフロントで動作することを示します.しかし,ユーザが終了(保留)すると,コマンドも自動的に終了する.
    拡張:shellスクリプトで、複数の個別のスクリプトを呼び出し、あるスクリプトの実行が終了するのを待たずに次のスクリプト内容を実行する場合は、そのスクリプトのコマンドを実行した後に&を加えてバックグラウンドで実行させることができます.

    構文


    ユーザが終了(保留)すると、コマンドも自動的に終了します.では、私たちは彼らを巧みに結びつけることができます.
    nohup Command [ Arg … ] &
    

    これにより、コマンドをバックグラウンドで永続的に実行できます(自動運転終了終了終了終了終了などを除きます).

    nohup Command [ Arg … ] > myout.file 2>&1 &   
    

    上記の例では、0-stdin(standard input)、1-stdout(standard output)、2-stderr(standard error);2>&1は標準エラー(2)を標準出力(&1)にリダイレクト、標準出力(&1)はmyoutにリダイレクト入力.fileファイルにあります.