ターミナルを立ち上げるかわりに、このコマンド操作をwebブラウザ上から同じサーバー上のPHPを稼働させて実行したいのですが、どのようにすればPHPから、このバックグラウンド稼働しているプログラムにコマンドを渡せるでしょうか? >STOP のようにコマンドを渡したいです。
screen は、-X 引数で、screenコマンドを実行させることができます。
そして、stuff コマンドで、指定した文字列を screen 下で実行中のプログラムに対する入力に送り込むことができます。
ですので、例えば
$ screen -X stuff 'ls^M'
(^Mは、Ctrl-V Ctrl-Mで入力)
で、screen 下のプログラムに「ls <enter>」という入力を送り込むことができます。
これをPHPから呼び出すプログラムとして指定すればよいでしょう。
ありがとうございます。まさに欲しかった情報でした。その後、Web入力(=Apacheユーザー)と、ユーザーを合わせるのに苦労しましたが、無事稼働しました。
2012/09/05 07:26:39