問題タブ [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.
iphone - Xcode 4でゾンビをチェックするさまざまな方法に違いはありますか?
チェックインには2つの方法があることを理解しているのでZombies
、 1つは、に設定するXcode 4
従来の方法と「YES」に設定する方法であり、もう1つはスキームのセクションにあります。NSZombieEnabled
Environment Variables
Enabling Zombie Objects
Diagnostics
これら2つの方法に違いはありますか?
ありがとうレザ
c - ゾンビ、gdb がアタッチできない、最後の呼び出しまたはバックトレースを確認する方法
アプリケーションが Linux ボックスでゾンビ状態になり、強制終了できず、gdb をアタッチできず、デバッグできません。今、最後に呼び出された関数またはバックトレースを知りたいのですが、とにかくこれを取得できますか? これに使用できる /proc/pid/stat の下の情報はありますか?
php - No Zombie プロセスがない理由
以下のコードでは、children プロセスを待っていませんが、実行後にゾンビ プロセスがないのはなぜですか?
私の理解では、この状態で生成されたゾンビ プロセス: 親プロセスはその子に対して 'wait' または 'waitpid' を呼び出さずに終了するため、システム プロセスinitはゾンビ プロセスと呼ばれるこれらの子プロセスを取得しますが、正しくありませんか?
linux - 機能していないプロセスの終了値を読み取る
親プロセスが終了値を読み取っていないことを意味する機能停止状態になっているデッド プロセスがあります。(そして、それを読むつもりはありません)
親プロセスが読み取るために終了値がカーネルのどこかに保存されていることは知っていますが、私が親プロセスでない場合にその値を読み取る方法はありますか?
理想的には、シェルまたは abritrary C/python/your-favorite-language プログラムからこれを行うことができます。
[編集]: これは、子供を刈り取る方法や殺す方法の問題ではありません。プロセステーブルのスロットを使い果たしてもかまいません。その終了値が何であるかを知りたいだけです。つまり、カーネルで task_struct->exit_code を読み取りたいと考えています。
マチュー
c - なぜ線が2回印刷されるのですか?
私はUNIXプログラミングに不慣れで、ゾンビプロセスと、fork()を2回使用してそれらを回避する方法について読んでいました。私は本からコードを読み、それを私のシステムで実行しようとしました。私はubuntu12.04を使用しています。次のコードを実行しました。
私が得る出力は次のとおりです:
この本には、これは1回だけ印刷する必要があると書かれており、コードで何が起こっているかを確認したときに、それが起こるはずだと感じています。なぜ2回印刷されるのかわかりません。私はこのコードをネット上の多くの場所で見つけましたが、これを説明する何かを得ることができませんでした。どんな助けでも大歓迎です。ありがとう。!!
c - 親プロセス出口で子プロセスを強制終了する
私はcとプログラミングに非常に慣れていないので、助けが必要です。Linux(cygwin)のcでは、終了時にすべての子プロセスを削除する必要があります。私は他の同様の質問を見ましたが、それを機能させることができません。私はもう試した-
どういうわけか、「作品」は今までに印刷されません。ctrl+cを押して終了します。
また、私は試しました-
しかし、私はcygwinを使用しているので、私がcygwinを使用すると#include <sys/prctl.h>
、ファイルまたはディレクトリが見つからないと言われ、インストールするパッケージがわかりません。また、私のprctl()
機能が機能する場合、それはすべてのゾンビを殺しますか?
私のプログラムはクライアントサーバーであり、各クライアントを処理するためのサーバーforks()です。サーバーがシャットダウンしたときにゾンビを残さないと思います。
linux - Java ゾンビ プロセスの強制終了
実験的な Java アプリケーションを実行していますが、アプリケーションを強制終了または停止するたびに、ゾンビ プロセスが作成されます。ゾンビは(おそらく)リソースを消費しないため、実際には問題にならないことはわかっています。ただし、RAM の空き容量が本来よりも大幅に少なくなります。ここにのダンプがあります
次の作品のどれも:(
マシンを再起動できません! ですから、どんな解決策も大歓迎です。
fork - 親で fork() してから wait() するのはなぜですか?
fork()、wait()、waitpid()、ゾンビ プロセスを知っています...非常に優れた本である W. Richard Stevens を読んで理解しました。
親でwait()を呼び出さないと、終了後に子がゾンビになります...これは悪いことです!
親で wait() を呼び出すと、親は子が終了するのを待ち、終了ステータスを受け取ってから続行します。書く?
fork() を一度呼び出してから、親で wait() を呼び出す多くの例を見てきました。
しかし、親が子を待ち、子が終了した後も続行する場合、実際のマルチタスクは行われません (技術的には 2 つのプロセスがありますが、論理的には役に立たない) では、なぜここで fork() を呼び出したのでしょうか?
fork() と wait() を 1 つのプロセスとして記述する代わりに、子のコードを記述してから親のコードを記述することもできたはずですが、そのほうがよいのではないでしょうか?
ありがとう!
c++ - C++ でのゾンビ プロセスの生成の回避
非常に奇妙なバグです。おそらく誰かが私が見逃しているものを見るでしょう。
bash シェルからフォークしてコマンドを渡す C++ プログラムがあります。
定期的に、コマンドに意味のないものが含まれ、bash プロセスがハングします。semtimedwait を使用してこれを検出し、次のような小さな関数を実行します。
waitpid の動作を正しく理解していると仮定すると、これは最初に SIGKILL をシェルに送信し、次に本質的にスピンロックに座って、結果のプロセスを取得しようとします。最終的には成功し、新しい bash プロセスが init_bash() で開始されます。
少なくとも、そうあるべきです。代わりに、子プロセスの終了ステータスは収集されず、ゾンビ プロセスとして存在し続けます。それにもかかわらず、親はループを終了し、bash プロセスを再起動することに成功し、通常の実行を続行します。最終的に、生成されるゾンビが多すぎて、システムは pid を使い果たします。
さらに:
- fork は、init_bash 内のプログラム内の 1 か所だけで呼び出されます。
- チェックは、プログラムの開始時と上記の関数の呼び出し後に 1 回を除いて、init_bash が呼び出されるのを防ぎます。
考え?
iphone - [TFSTDERRLogOperationクラス]:割り当て解除されたインスタンスに送信されたメッセージ
Xcodeでこのメッセージを受け取りました:[TFSTDERRLogOperationクラス]:割り当て解除されたインスタンスに送信されたメッセージ
検索エンジンはTFSTDERRLogOperationクラスについてあまり役に立たないので、どこで検索すればよいかわかりません。