「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ユーザーインターフェイスをブロックせずにPHPでバックグラウンドプロセスを実行するにはどうすればよいですか?

ユーザーインターフェイスをブロックせずにPHPでバックグラウンドプロセスを実行するにはどうすればよいですか?

2025-02-06に投稿しました
ブラウズ:153

How Can I Execute Background Processes in PHP Without Blocking the User Interface?

を実行するphp

多くのWebアプリケーションでは、ディレクトリコピーなどの時間のかかるタスクを実行する必要があります。ユーザーエクスペリエンスを向上させるには、ユーザーインターフェイスを混乱させることなくバックグラウンドでこれらのタスクを実行することが望ましい。背景は挑戦的です。ただし、Linux環境の場合、一般的なソリューションはexec関数を使用することです。 、$ pidfile));

このコマンドは次のことを達成します:

は$ cmd:

バックグラウンドで実行されるコマンドを起動します。
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));

Redirects output:

ルートstdoutとstderr出力は$ outputfile。 ]
  • プロセス監視:
  • バックグラウンドプロセスの進行を監視するには、ヘルパー関数を使用できます。 試す{ $ result = shell_exec(sprintf( "ps%d"、$ pid)); if(count(preg_split( "/\ n/"、$ result))> 2){ trueを返します。 } } catch(例外$ e){} falseを返します。 }
  • この関数を使用すると、PSコマンドの出力に基づいて、指定されたPIDのプロセスがまだ実行されているかどうかを確認できます。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3