ホームページ > バックエンド開発 > PHPチュートリアル > PHP でシェル コマンドを非同期に実行するにはどうすればよいですか?

PHP でシェル コマンドを非同期に実行するにはどうすればよいですか?

DDD
リリース: 2024-12-11 13:43:10
オリジナル
1022 人が閲覧しました

How Can I Asynchronously Execute Shell Commands in PHP?

シェル コマンドの非同期実行

シェル コマンドの非同期実行は、出力をファイルにリダイレクトし、コマンドをバックグラウンドで実行することで実現できます。 .

によるシェルコマンドの実行Shell_exec

shell_exec 関数はコマンド ライン プログラムを実行し、その出力を返します。ただし、コマンドの実行が完了するまで PHP スクリプトはブロックされます。

Shell_exec を使用しない非同期実行

ブロックせずにコマンドを非同期に実行するには、次のトリックを使用できます。

  1. リダイレクト出力: コマンドの標準出力と標準エラーを /dev/null にリダイレクトします。これにより、出力が PHP スクリプトに表示されなくなります。
  2. バックグラウンドでコマンドを実行する: バックグラウンドで実行する必要があることを示すには、コマンドの末尾に & を追加します。

例:

shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>&1 &');
ログイン後にコピー

これらを組み合わせるとこのテクニックを使用すると、コマンドの完了を待たずにコマンドを非同期的に実行できます。これにより、PHP スクリプトはシェル コマンドの実行によってブロックされることなく実行を続けることができます。

以上がPHP でシェル コマンドを非同期に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート