問題タブ [proc-open]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
443 参照

php - PHP proc_open 複数入力

CLIPS スクリプトと対話するために、proc_open 関数を使用して CLIPS プロセスを開始したいと考えています。したがって、次のように設定すると:

すべて問題ないようです。プロセスが正しく開始および終了されている

しかし、次のように複数の入力を CLIPS シェルに送信する場合:

その後、プロセスは終了せず、PHP は proc_close でハングし、システム モニターからプロセスを強制終了したときにのみ終了します。出力を確認するstream_get_contentsと、(終了) 入力がプロセスに送信されないようです。また、fclose( $pipes[0]) を呼び出すと、CLIPS プロセスの CPU 使用率が 0% から 100% になります。この理由は何でしょうか?

0 投票する
1 に答える
1333 参照

java - proc_open() を使用して PHP で Java を実行し、出力を取得する

助けてください。proc_open() を介して Java ファイルを実行する際の問題が何であるかを理解できません。Cプログラムで動作し、1行ごとに出力を取得できたので、この方法で出力ストリームをフェッチしても問題はないと思います:

PHP で Java を実行するために、次のコードを使用しています。

拡張子を確認し、java の場合はコンパイルします(同じディレクトリに CLASS ファイルを生成できたので、これは成功しました:


ここに画像の説明を入力


プログラムを実行するには、

このコマンドを Windows の cmd で実行してみましたが、うまくいきました (Java を実行して "Hello, World" を出力できました)。

エラー ログ ファイルに次のエラーが表示されます。

proc_openを介してJavaを実行する際に、PHPが別のJavaソースパスを使用しているかどうかはわかりません。私のウィンドウのコマンドを使用しているため、ライブラリのロードの問題や「バージョン」関連の問題は発生しないと思いました。

ここで何が問題になる可能性がありますか?どうもありがとう!返信をいただければ幸いです。

0 投票する
1 に答える
6711 参照

php - php proc_open 'su: 端末から実行する必要があります'

個人のUbuntuサーバーマシンに次のPHPコードがあります。

そして、私はPHPからこの応答を得ます:

アクティブユーザーを変更したいのは明らかですが、phpからこれを行う方法はありますか?

0 投票する
1 に答える
873 参照

php - PHPスクリプトでaria2cからSTDOUTを読み取る

簡単な PHP スクリプトを次に示します。

問題は、出力の進捗データが aria2c が終了するまで「停止」することです。aria2c プロセスが終了すると、すぐにすべての出力がスクリプトにバーストされます。fpassthru() とは関係ありません。単純な fread() を試してみましたが、同じ結果が得られました。

流れ:

[お知らせ] ファイルは既に存在します。/tmp/file100m.dat.4 に名前を変更しました。

<...巨大な遅延とバースト...>

[#edb1dc 70MiB/100MiB(70%) CN:1 DL:8.4MiB ETA:3s]

[#edb1dc 81MiB/100MiB(81%) CN:1 DL:9.7MiB ETA:1s]

[#edb1dc 92MiB/100MiB(92%) CN:1 DL:10MiB]

現在の進行状況に関する情報を収集するために aria2c が終了するのを待たずに、「[#edb1dc 92MiB/100MiB(92%) CN:1 DL:10MiB]」のような行を取得する必要があります。

言うまでもなく、コンソールでまったく同じコマンドを実行すると、aria2c は正常に動作します。

0 投票する
0 に答える
157 参照

php - proc_open() 子は、タスクを終了する前に終了します

次のステートメントを使用してプロセスを生成しようとしています

PHPスクリプトを介して。生成されたプロセスを使用して単純な Scala プログラムを実行し、プログラムの出力をキャプチャしています。しかし、残念ながら私は成功していません。子プロセスは正常に実行されますが、数秒後に sigterm シグナルが原因で終了します。

最後に、その印刷プロセスが sigterm になりました。httpd で ulimit を使用して CPU 時間を延ばそうとしましたが、最大実行時間を設定しようとしましたが、成功しませんでした。これについて何か助けていただければ幸いです。