Linux (Ubuntu) バックグラウンドでプログラムを実行する

Linux (Ubuntu) バックグラウンドでプログラムを実行する

Linux サーバー上で SSH (Putty) 経由でバックグラウンドで PHP スクリプトを実行しようとしていますが、うまくいきません。

バックグラウンドで実行したいコマンドは次のとおりです。

php buildscript/build_css.phpとしてroot@FIG-VMSAM:/var/www/wem#

私はこれを試しましたが、これだけしか得られず、動作しません。(私のために CSS を構築しないでください)

root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274

[1]+  Stopped                 php buildscript/build_css.php

また、コマンドを通常どおりに起動し、その後これをバックグラウンドにしてみましたが、<Ctrl>+z それでも機能しません。

私のPHPスクリプトの背景として、私は次のようにsystem()呼び出します。stylus http://learnboost.github.com/stylus/ そしてinotifywaitこれが役に立つかどうか?

なぜこれが機能しないのか誰か知っていますか?

答え1

もう 1 つの簡単な答えは、プログラムが実際にはユーザー入力を必要としないと仮定した場合です。

 php buildscript/build_css.php </dev/null &

停止する理由は、stdin入力を必要としないにもかかわらず、何らかの理由でプログラムが開いているためです。

答え2

スクリプトを別の画面で実行することは可能でしょうか?

sudo apt-get install screen

次に、screen -S screennamescreenname が画面セッションに付ける名前である を使用します。

画面に入ったら、コマンドを入力します。php buildscript/build_css.php

セッションを終了するには、ctrl+ a+を使用しますd

セッションに戻るには、screen -r screenname

心配しないでください。セッションを終了しても、コマンドはバックグラウンドで実行され続けます。

関連情報