問題タブ [pcntl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
699 参照

php - PHP pcntl_fork() の背後で何が起こっていますか?

PHP pcntl が実際にどのように機能するかを理解しようと何時間、何日、何週間も費やしましたが、実際に何が起こっているのか正確にはわかりません。

なぜ親子?私は Debian を使用しています (私が認めなければならないコンピューターの専門家になるにはほど遠いです) が、私がやりたいことは、webSocket クライアントからメッセージを受信し (これは既に実行できています)、他のユーザーの話を聞き続けることだけです。

つまり、メッセージを受信して​​ a を使用するとsleep(5);、サーバーはこのコードが完了するまで他のメッセージをリッスンしません。

sleep(5)はテスト用であることに注意してください。何百ものメッセージを同時に処理することを計画しているため、どのようpcntlに役立つかを理解しようとしています.

上記のスクリプトの背後で正確に何が起こっているのでしょうか? この結果が得られるのはなぜですか?

始める

終わり

始める

終わり

コンピューターが何を「考えている」のか説明してもらえますか?

0 投票する
1 に答える
321 参照

php - PHP システム デーモン PCNTL エラー ... しかし、PCNTL はインストールされています

私はプロジェクトを引き継いで、自分のサーバーで動作させようとしています....ただし、システムデーモンに次の問題があるようです(以下のコード)

pcntl をインストールしました:

なぜこのエラーが発生するのかわかりません。誰かが私が間違っていることを見ることができますか?

どんな提案でも大歓迎です!

ありがとう!

queue.php (ブラウザ)

queue.php (コード)

0 投票する
2 に答える
1432 参照

php - pcntl_fork を使用して、PHP デーモンで「MySQL が消えた」

PHPデーモンを使用してデータベース値を取得し、取得した各IDのインスタンスを(pcntlforkを使用して)フォークします。

各フォークは何らかの作業を行ってからデータベースの値を変更するため、再度取得されることはありません。

ただし、子を fork して、たとえば 10 秒間スリープ状態にすると (現実的な処理時間)、MySQL 接続がタイムアウトしたようです。これを防ぐにはどうすればよいですか?try/catch はエラーを防げないようです。

0 投票する
3 に答える
6923 参照

php - php でマルチスレッドを使用するのが得策ではないのはなぜですか?

PHPにスレッドがないことは知っています。しかし、このチュートリアルでは、ホスト オペレーティング システムの機能を使用してそれを実現できることを示しています。また、製品コードではこれを行わないとも述べています。なぜそれは良い考えではないのですか?

これがサンプルコードです

ここにチュートリアルがあります。

0 投票する
1 に答える
2072 参照

php - 子プロセスが親に値を返すようにする方法

複数のプロセスで for ループを実行しようとしていますが、各 for ループが親プロセスの配列に書き込む必要があります。子プロセスを配列で終了しようとしましたがpcntl_wexitstatus()、整数しか返せません。そして、私は立ち往生しています。

私はマルチプロセッシングに非常に慣れてshmopいませんが、親と子の間で変数を共有するための良い解決策は .

これが私のコードです:

予想されることを明確にするために、$output配列には 4 つの項目が含まれている必要があります。これらの項目は、それぞれ 100 万項目の配列でもあります。次のようになります。

0 投票する
1 に答える
5753 参照

php - 未定義関数pcntl_fork()の呼び出しubuntuサーバーapache

pcnt_fork に問題があります

このチュートリアルに従ってインストールしました

しかし、Apache エラー ログを調べると、PHP Fatal error: Call to undefined function pcntl_fork() yet.!! があります。

0 投票する
1 に答える
143 参照

php - PHP CLI: 端末ウィンドウ/タブの閉鎖をインターセプトするにはどうすればよいですか?

pcntl_signalfunctionを使用してCtrl+ ZCtrl+を処理Cし、アプリケーションからセーフ ポイントで終了します。

ユーザーがウィンドウを閉じたときに同じことができますか?

0 投票する
1 に答える
303 参照

php - 子プロセスが終了したときに SIGCHILD がシグナルをキャッチしない

複数の子スレッドを処理するデーモン プロセスを作成しようとしています。しかし、子スレッドは関数を呼び出すためにシグナルを親に送り返していないようです。私はそれをクラスから取り出して標準関数にしようとしましたが、それも役に立たないようです。