プロセス管理 - プロセスがゾンビ プロセスになるのを防ぐ
プロセスを作成した後、子プロセスをどのように管理しますか?
シグナルを使用して子プロセスを管理するには、通常 2 つの状況があります: (推奨される学習: PHP プログラミングの入門から習熟まで )
posix_kill() : この関数は、名前が示すように、子プロセスにシグナルを送信して子プロセスを操作するものではありません。必要に応じて、子プロセスにプロセス終了シグナルを送信して子プロセスを終了することを選択できます。
pcntl_waitpid(): fork の子プロセスのステータスを待つか返します。この関数が呼び出されたときに指定された子プロセスが終了していた場合 (一般にゾンビ プロセスとして知られています)、この関数はすぐに戻ります子プロセスのすべてのシステム リソースを解放します。これにより、子プロセスがゾンビ プロセスになり、システム リソースの無駄が発生するのを防ぐことができます。
孤立したプロセス: 親プロセスがハングします。子プロセス自体のライフサイクルが終了し、システムがリソースを再利用し、親プロセスが関連するリサイクル操作を実行するまで、子プロセスは pid=1 (wait/waitpid) の init プロセスによって引き継がれます。 ゾンビ プロセス:
子プロセスが終了し、親プロセスが wait/waitpid ステータス、子プロセスによって占有されているプロセス番号、およびその他のリソース記述子を介して子プロセスを取得しないため、害が発生します。たとえば、プロセス番号が制限されており、プロセス番号を解放できないため、将来的に使用可能なプロセス番号がなくなる可能性があります。**親プロセスで使用されます: pcntl_wait または、pcntl_waitpid の目的は、ワーカーがゾンビプロセスにならないようにします。
関数: pcntl_wait() を使用した後、子プロセスが終了した後、親プロセスも停止します**最後に、以下の図を渡します。簡単に見てみましょう。マルチプロセス実装のプロセスを要約して説明します:プロセス管理 - プロセス間通信
キュー: Redis など, 推奨
socket: 推奨パイプライン: 実装が複雑でパイプ(パイプ)がファイル形式で存在し、ハードディスクのIOパフォーマンスのボトルネックがあるSignal: 伝送される情報量は少なく、管理が困難
プロセス管理 - デーモン プロセスへの切り替え
使用および実装
php デッドループ.php &以上がPHP がプロセスを管理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









