%20%E3%83%90%E3%83%83%E3%82%AF%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B.png)
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 screenname
screenname が画面セッションに付ける名前である を使用します。
画面に入ったら、コマンドを入力します。php buildscript/build_css.php
セッションを終了するには、ctrl+ a+を使用しますd。
セッションに戻るには、screen -r screenname
心配しないでください。セッションを終了しても、コマンドはバックグラウンドで実行され続けます。