php で応答を待たずにシェルを実行する方法: まず、対応するバックグラウンドを開き、次に「system("nohup ./test.py $s &");」メソッドを通じてそれを実装します。
この記事の動作環境:Windows7システム、PHP7.1バージョン、DELL G3コンピュータ
応答を待たずにシェルを実行する方法?
システムを使用して結果を待たずにバックグラウンドでコマンドを実行する方法
system("nohup ./test.py $s &");
これはバックグラウンドでは実行されず、php は test.py が終了するまでハングします。
system("nohup ./test.py $s >>log.txt &");
バックグラウンドで実行するにはこの方法を記述します。システム関数はプログラムを開始し、バックグラウンドで実行し続けたいため、
プログラムの出力がリダイレクトされていることを確認する必要があります。ファイルまたは他の出力ストリームに出力しないと、プログラムの実行が終了する前に PHP がハングします。
例:
1.system(“nohup ./test.py $s >>/tmp/output.txt &”);
2. system (“nohup ./test.py $s > /dev/null 2>>&1 &”);
(2>>&1 は標準出力に出力されるエラーです。エラーを読みたい場合は、出力、 2>&1 を追加、追加せずにエラーを読み取ることはできません)
または system(“nohup ./test.py $s > /dev/null &”);
推奨される学習:《PHP ビデオ チュートリアル》
以上が応答を待たずにPHPでシェルを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。