人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxサーバー上で、screenを使ってバックグラウンドでプログラムを常時稼働させています。ターミナルを立ち上げてアタッチ操作(screen -r)することで、このプログラムへのキーボードからのコマンド入力が可能です。(screenコマンドの機能です)

ターミナルを立ち上げるかわりに、このコマンド操作をwebブラウザ上から同じサーバー上のPHPを稼働させて実行したいのですが、どのようにすればPHPから、このバックグラウンド稼働しているプログラムにコマンドを渡せるでしょうか? >STOP のようにコマンドを渡したいです。






●質問者: tom80
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● takaz
●300ポイント ベストアンサー

screen は、-X 引数で、screenコマンドを実行させることができます。
そして、stuff コマンドで、指定した文字列を screen 下で実行中のプログラムに対する入力に送り込むことができます。

ですので、例えば
$ screen -X stuff 'ls^M'
(^Mは、Ctrl-V Ctrl-Mで入力)

で、screen 下のプログラムに「ls <enter>」という入力を送り込むことができます。
これをPHPから呼び出すプログラムとして指定すればよいでしょう。


tom80さんのコメント
ありがとうございます。まさに欲しかった情報でした。その後、Web入力(=Apacheユーザー)と、ユーザーを合わせるのに苦労しましたが、無事稼働しました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ