ホームページ >バックエンド開発 >PHPチュートリアル >ユーザー インターフェイスをブロックせずに PHP でバックグラウンド プロセスを実行するにはどうすればよいですか?
PHP でバックグラウンド プロセスを実行する
多くの Web アプリケーションでは、ディレクトリのコピーなど、時間のかかるタスクを実行する必要があります。ユーザー エクスペリエンスを向上させるには、ユーザー インターフェイスを中断せずにこれらのタスクをバックグラウンドで実行することが望ましいです。
PHP でのバックグラウンド プロセスの実行:
PHP では、プロセスを実行します。背景は難しいかもしれません。ただし、Linux 環境の場合、一般的な解決策は exec 関数を使用することです:
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
このコマンドは次のことを実現します:
プロセス監視:
バックグラウンドプロセスの進行状況を監視するには、ヘルパー関数を使用できます。
function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/\n/", $result)) > 2){ return true; } }catch(Exception $e){} return false; }
この関数を使用すると、ps コマンドの出力に基づいて、指定された PID のプロセスがまだ実行されているかどうかを確認できます。
以上がユーザー インターフェイスをブロックせずに PHP でバックグラウンド プロセスを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。