この記事は主に PHP マルチプロセス プログラミング方法を紹介し、PHP マルチプロセス プログラミングの概念、使用法、関連機能、使用スキルをより詳細に分析します。必要な友人は参考にしてください。
この記事では PHP マルチプロセス プログラミングについて説明します。例を示したプロセスプログラミング。参考のために皆さんと共有してください。詳細は次のとおりです:
ステップ 1:
$ php -m コマンドを使用して、php に pcntl および posix 拡張機能がインストールされているかどうかを確認し、インストールされていない場合はインストールします
使用シナリオ:
1. ネットワーク上で大量の時間のかかる操作を実行する必要があります。
2. ユーザーに高速なエクスペリエンスを提供するために、システムは複数の CPU を備えています。いくつかの小さなタスクに分割され、最終的にマージされます。
複数のプロセスの共通関数:
pcntl_alarm — プロセスのアラームクロック信号を設定します
pcntl_errno — エイリアスpcntl_strerror
pcntl_exec — 現在のプロセス空間で指定されたプログラムを実行します
pcntl_ fork — 子プロセスを作成し、現在のプロセスの現在の場所にブランチ (子プロセス) を生成します。注釈: fork は子プロセスを作成します。親プロセスと子プロセスはどちらもフォーク位置から実行を継続します。違いは、親プロセスの実行中、fork の戻り値は子プロセスの番号であるのに対し、子プロセスの戻り値は子プロセスの番号であることです。プロセスは0を取得します。
pcntl_get_last_error — 失敗した最後の pcntl 関数によって設定されたエラー番号を取得します
pcntl_getpriority — 任意のプロセスの優先順位を取得します
pcntl_setpriority — 任意のプロセスの優先順位を変更します
pcntl_signal_dispatch — 呼び出し待機シグナルプロセッサー
pcntl_signal — シグナルハンドラーをインストールする
pcntl_sigprocmask — ブロッキングシグナルを設定または取得する
pcntl_sigtimedwait — タイムアウト付きでシグナルを待機する
pcntl_sigwaitinfo — シグナルを待機する
pcntl_strerror —指定された errno に関連付けられたシステム エラー メッセージを取得します
pcntl_wait — フォークの子プロセスのステータスを待つか返す
pcntl_waitpid — フォークの子プロセスのステータスを待つか返す
pcntl_wexitstatus — 中断された子プロセスのリターンコードを返す
pcntl_wifexited — チェックステータス コードが正常な終了を表すかどうか。
pcntl_wifsignaled - 子のプロセスステータスコードが信号による中断を表すかどうかをチェックします
pcntl_wifstoppedpded-子のプロセスが現在停止されているかどうかをチェックします。 — 子プロセスの原因を返します プロセス中断のシグナル
例 1:
ログイン後にコピー
例 2: フォークフラッディングを避けるために複数の子プロセスを開く
ログイン後にコピー
注:
マルチプロセス機能は、pcntl_XXX 一連の関数を通じて使用します。注: pcntl_XXX は php CLI (コマンド ライン) 環境でのみ実行できます。Web サーバー環境では、予期しない結果が発生する可能性があるため、注意して使用してください。
以上がPHP でのマルチプロセス プログラミングに関するコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。