現在Javajarアプリケーションを実行しているCentOSサーバーがあります。入力ストリームを介してこの実行中のプログラムと通信するためのphpスクリプトを作成する必要があります。Javaプログラムはその出力をログファイルに出力するので、出力ストリームにアクセスする必要はありません。
プログラムを再起動したくありません。実行中のプロセスにアクセスして操作するだけです。
誰かが私を正しい方向に向けることができますか?
まず、アプリケーションのProcessIDを見つけます。あなたはそれを使ってそれをするかもしれません:
ps -Af | grep java
jps
Javaを使用しているので、PIDを見つけるためのコマンドを使用すると便利な場合があります。
実行中のアプリケーションのPIDは12345であると想定します。次のコマンドを発行するだけで十分です。
cat >/proc/12345/fd/0
そして、あなたがタイプしたものは何でも、そのアプリケーションの標準入力に入れられます。これには、アプリケーションで使用されるファイル記述子が含まれていることに注意してくださいfd
。0番目のファイル記述子は常に。であると思いますstdin
。
PHPを使用してファイルに書き込む(したがって、アプリケーションによって入力として使用される)ことも可能です。
移植性があなたにとって大きな問題ではない場合は、独自のパイプを作成してみませんか?Javaアプリケーションについてはよくわかりませんが、「mkfifo」関数/コマンドを確認します。