ホームページ >バックエンド開発 >PHPチュートリアル >PHP でシェル コマンドをブロックせずに非同期に実行するにはどうすればよいですか?
シェル コマンドの非同期実行
PHP スクリプトでリソースを大量に消費するタスクを処理する場合、バックグラウンドでタスクを実行することが望ましいことがよくあります。他のコードの実行をブロックしないようにします。シェル コマンドを実行する一般的な方法の 1 つは shell_exec ですが、通常、コマンドが完了するまでスクリプトが待機する必要があります。
完了を待たずにシェル コマンドを実行するには、バックグラウンド実行テクニックを利用できます。これは、シェル コマンドの標準出力ストリームと標準エラー ストリームを null デバイスにリダイレクトすることで実現されます。
次の PHP コードを考えてみましょう。
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
このコードでは、次の戦略を採用しています。 :
この手法を使用すると、シェル コマンドを非同期に生成でき、コマンドの完了を待たずに PHP スクリプトを解放して実行を継続できます。
以上がPHP でシェル コマンドをブロックせずに非同期に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。