問題タブ [zombie-process]
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.
linux - ゾンビのプロセスとスレッドに関する質問
プロセスとスレッドに関するいくつかの新しいトピックを読んでいたので、これらの質問が頭に浮かびました。誰かが私を助けてくれたらうれしいです。
1) スレッドがキャンセル不可とマークされ、プロセスがクリティカル セクション内で強制終了された場合はどうなりますか?
2) オペレーティング システムに認識されているプログラムのメイン スレッドはありますか? つまり、オペレーティング システムは、プログラムの最初のスレッドに何らかの有益な権利または何かを与えるということですか?
3) プロセスを強制終了し、スレッドが結合されていない場合、スレッドはゾンビになりますか?
c++ - 親プロセスがすべての子プロセスをキャッチするわけではありません
私は次の問題を抱えています:
私はメイン(親)プロセスを持っており、フォーク関数を使用して別のプロセス(子)を作成します。ゾンビを排除するために子供のステータスをキャッチしています。子プロセスが1つある場合は正しくキャッチされますが、親プロセスによって作成されたプロセス(aprx。30)がさらにある場合は、aprxがあります。残り4体のゾンビ=親がすべての子を捕まえるわけではありません(ステータス/状態を返す= <defunct>)。
子のステータスは、を使用してキャッチされます
前もって感謝します。
php - phpが呼び出されたときにApacheがゾンビプロセスを生成する
私はmodxで構築されたサイトを持っており、負荷がかかるとすべてのCPU処理能力が使い果たされ、topはこれを消費する多くの機能しないphpゾンビプロセスを示しています。
システム仕様は次のとおりです...
PHP5.2.14phpは
suPHPMysql5.1.51
Apache 2.0.63modx1.0.4
として
実行されます
ApacheBenchを使用してimをテストし、100の同時接続で500の接続をシミュレートする場合
私はこれを2つの方法でテストしました...
.htaccessをオフにして、「Helloworld」をエコーする単純なphpページのストレステストを行います。
一番上にあるのは、phpが機能しなくなり、ゾンビに変わっていることを示していますが、すぐに消えてしまいます
phpがより多くのことをしているmodxによって提供されるページを呼び出すと、より多くのCPUを消費するゾンビがより多く生成され、それらの一部はすぐに消えません。
これを引き起こしているのは何ですか?コードの間違いでしょうか?その場合、単純なHello Worldスクリプトがゾンビを生成するのはなぜですか?
サーバーの構成に問題がありますか、それともサーバーに過度の負荷をかけることに問題がありますか?
これについて頭を悩ませ、次に何をすべきかについてのいくつかの指針を期待しています。
perl - Perl:close()なしでopen()を介してゾンビを作成する
問題は次のとおりです。クライアントから要求を取得し、要求に応じて(一部のモジュールから)関数を実行し、クライアントに応答を返すデーモンがあります。fork()の後、STDIN、STDOUT、およびSTDERRを閉じます。1つの機能はdmesgをチェックすることです。このために、open(DMESG、 "/ bin / dmesg |")を介してdmesg出力を取得します。関数が終了すると自動的に閉じると思ったので、読んだ後は閉じません。しかし、これは発生せず、dmesgを呼び出すたびにゾンビが発生します。
PerlのSTDIN /STDOUT / STDERRを再初期化するにはどうすればよいですか?「再度開く代わりにSTDOUTを閉じる場合の問題は、他のファイルを開くと、fd 0、1、または2になる可能性があるため、将来STDOUTを再度開くことができないことです。」by jmanning2kそして、それはそれと関係があると思いますが、私は実際にはそれを理解していません。誰かが私にそれを説明してくれることを願っています。
たとえば、qx()を介してdmesgを呼び出すことで、問題を回避できることを知っています。または単にfhを閉じますが、ゾンビがどこから来ているのかを理解したいと思います。
apache - Debian での apache ゾンビ プロセス、原因は何ですか?
一番上に、ゾンビプロセスが表示され続けます (一度に複数ではありません)。それらはすぐに (10 秒以内に) 消えますが、数秒後に新しいゾンビがポップアップします。私のサーバーは 3 つのサイトを実行しています.2 つは PHP で記述され、1 つは Perl で記述され、すべて Apache によって提供されます。PHP サイトでは、mod_rewrite を使用して見栄えの良い URL を作成しています。どのページまたはスクリプトがこれらのゾンビの原因になっているのかを突き止めようとしましたが、見つかりません。プロセスの PID を実行中のリクエストに接続する方法はありますか? ゾンビの原因を突き止めるために、Perl サイトと PHP サイトの 1 つを停止しましたが、何も変わりませんでした。ゾンビが次々とやってくるので、1 つのサイトに絞り込んだのが一番だと思います。私は特定のサイトを処理します (残りのサイトをオフラインにして確認することはできません。人々が作業しているためです)。
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
ヘルプや正しい方向への指示は大歓迎です。私はグーグルで何日も物事を試してきました(ただし、そこから多くのことを学びました;-))。
静かなクリスマス休暇中に、3 番目のサイトを数分間オフラインにする機会がありました。驚いたことに、ゾンビが次々と現れるのを見続けていたので、特定のサイトとは関係がなく、Apache の設定に関係しているようです。アイデアはありますか?
c++ - ゾンビプロセスとフォーク
私はこのようなコードを持っています...
fd[READ] と fd[WRITE] は、パイプ ファイル記述子です。
連続して実行すると、ps axを使用するとゾンビプロセスが大量に発生します。これを修正する方法は?これは、子プロセスの終了ステータスを待機するために親を使用していないためですか...
perl - ゾンビはどのように害を及ぼしますか?
If the operation being timed out is system() or qx(), this technique is liable to generate zombies. If this matters to you, you'll need to do your own fork() and exec(), and kill the errant child process.
I have a similar code, where the operation being timed out is system() or qx().
Is the bad thing about zombies that they consume memory or are there more ways zombies can harm?
gdb - gdbはゾンビプロセスをアタッチできますか()?
ゾンビプロセスとして実行するプログラムがあります。デバッグしたいです。しかし、gdbエラーが発生しました。
ゾンビプロセスを作成する私のコードがあります:
perl - 親が終了したときにプロセスが機能しなくなったりゾンビになったりすることなく、perlでプロセスを生成するにはどうすればよいですか?
プロセスを生成したい perl スクリプトがあります。しばらく時間がかかる場合があり、ほとんどの場合、親スクリプトは終了します。親がなくなったときに、完了時にゾンビまたは無効なプロセスにならないように、このプロセスを生成するにはどうすればよいですか?
編集:私は2つの方法を見つけたと思います。うまくいけば、どちらがより適切か誰かが教えてくれますか?
- 設定 $SIG{CHLD} = 'IGNORE';
- POSIX 'setsid' を使用します。
編集: 生成されたプロセスも別の perl スクリプトになります。
python - マルチプロセッシング + psycopg2 ゾンビの子供
psycopg とマルチプロセッシングを使用して、数百万行を挿入および更新しようとしています。http://initd.org/psycopg/docs/usage.html#thread-and-process-safetyにあるドキュメントによると、各子には DB への独自の接続があります。
しかし、処刑の過程で、一人の子供だけが走り、他の子供たちはゾンビになります。スクリプト自体は非常にシンプルで、これをトリミングしたものを次に示します。
また、 を覗いて、テーブルにエスカレートされたロックがあるかどうかを確認しましたpg_locks
が、そうではないようです。明らかな何かが欠けていますか?