ホームページ  >  記事  >  バックエンド開発  >  応答を待たずにPHPでシェルを実行する方法

応答を待たずにPHPでシェルを実行する方法

藏色散人
藏色散人オリジナル
2021-07-01 09:37:582369ブラウズ

php で応答を待たずにシェルを実行する方法: まず、対応するバックグラウンドを開き、次に「system("nohup ./test.py $s &");」メソッドを通じてそれを実装します。

応答を待たずにPHPでシェルを実行する方法

この記事の動作環境: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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。