プログラムやSHELLコマンドをバックグラウンド実行する

プログラムやSHELLコマンドをバックグラウンド実行する

バックグラウンドで実行する方法

PHPやRuby、PythonなどのプログラムやSHELLコマンドをバックグラウンドで実行したいときがあります。並列で処理したいや実行時間が長い処理に有効なため、知っていると重宝するときがあるので確認してみましょう。

Advertisement

実装方法

バックグランド実行したいときはnohupコマンドと「&(アンパサンド)」を利用します。

nohup 実行したいコマンド &

nohupコマンドは、ログアウト時などに送信されるHUPシグナルを受け取らずにコマンドを実行します。「&(アンパサンド)」はコマンドをバックグラウンドで実行します。
つまりnohupコマンドと「&(アンパサンド)」を同時に設定することにより、ログアウトなどによって中断されずに、処理をバックグランドで実行することができます。

 

サンプルコード

コマンド実行の場合

PHPによる実行の場合

 

留意事項

コマンドやスクリプトで実行を行うと、結果はデフォルトで「./nohup.out」ファイルに出力されます。もちろん以下のようにファイルを指定すれば、任意のファイルに出力することができます。

「output.txt」に出力する場合

ファイルを出力しない場合

web開発カテゴリの最新記事