問題タブ [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.

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

xcode - iOSテスト/シミュレーターの実行後にゾンビプロセスを離れるXcode

iOSアプリでXcodeを数日間使用した後、100を超えるゾンビプロセスがぶら下がっていることに気づきました。単体テストを実行するたびに1つ、シミュレーターでアプリ全体を実行するたびに1つあるようです。サンプル(クリーンアップおよび切り捨て)は次のとおりです。

最後から2番目の列のZは、それらがゾンビプロセスであることを示します。launchd3番目の列の236は親PIDであり、この場合は私のユーザーに属します。

一部のプロセスは数日前のものであることに注意してください。この期間中にXcodeを数回終了し、再開しました。

なぜこれが起こるのか、またはこれが警報の原因になるべきかどうか誰かが知っていますか?

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

python - python / djangoはバックグラウンドプロセスを生成し、ゾンビプロセスを回避します

django でバックグラウンド プロセスを生成する必要があります。ビューはすぐに戻り、バックグラウンド プロセスは引き続きいくつかの変更を加えてから、データベースを更新します。これはos.spawnl()、別の .py ファイルを呼び出す関数によって行われます。

問題は、バックグラウンド処理が完了した後、ゾンビ関数になること[python] <defunct>です。

どうすればそれを回避できますか? thisthisの例に従いましたが、django レンダリング プロセスの後で子プロセスをゾンビとして取得しました。

この機会に *nix プロセス管理スキルを練習したいので、お願いします。Celery やその他の mq/async タスク ソリューションを提供しないでください。

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

c++ - 親に子プロセスを刈り取らせる

私は親から子プロセスを殺そうと必死に努力してきました。

私が試した:1。-15pidを殺す

  1. キルショットガンpid

  2. -9pidを殺す

Linuxでps-Aの場合、子プロセスを「defunct」(ゾンビ)と書くことですべて解決しました。

プロセスを強制終了し、プロセステーブルから強制的に削除するにはどうすればよいですか。プロセステーブルにレコードがないため、コードでプロセスが停止していることを確認する方法であるため、クリーンアップする必要があります。

ありがとう :-)

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

c - コードで作成され、別の部分で強制終了されたゾンビプロセス

「ゾンビクリエーター」と「ゾンビターミネーター」を書きたい。重要な点は、ある部分でゾンビを作成し、コードの他の部分でゾンビを終了させたいということです。私はCを使用しています。

例:

.. elseの場合、fork()を使用してこれを行う方法を知っていますが、それは重要ではありません。ある種のリモコンを探しています。それは可能ですか?彼を長い間眠らせることは解決策かもしれませんか?

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

c - Linuxでゾンビプロセスを作成できません

さて、私は奇妙な問題を抱えています。プロジェクトでゾンビプロセスを作成できませんが、他のファイルで作成できます。簡単な手順があります:

その単純なコードは、10秒間ゾンビプロセスを作成します。私がチェックしていますが、実際に存在しています。

しかし、このコードを自分のプログラム(自分のシェル)にコピーすると、ゾンビプロセスの前と同じように実行されるすべてのものがまったく存在しなくなります。何が違うのかわかりません。同じコードです。

それについて知っておくべき情報は他にありますか?簡単な方法でゾンビを作成する他の方法はありますか?

0 投票する
5 に答える
10670 参照

c - Killing zombie process, knowing PID in linux C

I have to kill/clean a zombie process in linux C. All I know is the PID of the zombie.

I'm creating a few zombie processes in a loop:

I can get their PID number using:

But how to kill/clean them using just the PID? I'm saving the PID in a variable and standard signal:

Doesn't even work, because the process is dead already. Any other way to achieve it? Please don't ask me why the hell I'm creating zombies to kill them later. It's not the case.

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

c++ - linux fork - execl、実行したプロセスがゾンビになる

子プロセスからトゥインクル コマンド ラインを実行しようとしています。たとえば、次のようにします。

しかし、きらめきはゾンビになります:

signal(SIGCHLD, SIG_IGN); を設定しようとしました。しかし、成功しませんでした。実際には、twinkle が終了する前に、子プロセスが終了したと思います。

次のようにコマンドラインからトゥインクルを実行します。

ゾンビにはなりません - トゥインクルは適切に閉じます。私がそこに欠けているものは何ですか?

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

iphone - ViewController の割り当て解除時の Rogue Zombie

Xcode で、新しいマスター/ディテール プロジェクトを開始します。それを「テスト」と呼びます。

それに新しい「ファイル」を追加します。UIViewControllerXIBでファイル化します。それを TestViewController と呼びます。

insertNewObject:メソッド内の MasterViewController コードを次のように変更します。

deallocメソッドを TestViewController.m に追加し、単純に呼び出します[super dealloc];

ここにブレークポイントを置き、アプリを実行します。すべて正常に実行されるはずです。

ただし、ゾンビ オブジェクトを有効にすると*** -[TestViewController class]: message sent to deallocated instance 0x7484f20 error、ステップ オーバー時にが表示される場合があります[super dealloc]

これもわかりますか?私は iOS6.0 シミュレーターを使用しており、これにつながった問題をデバッグしようとしていることに遭遇しました。

考えていただければ幸いです。iOSのバグですか?それともシミュレーターのバグ?

「明快さ」のための TestViewController コードを追加

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

ios - [CALayer] の割り当て解除されたインスタンスへのメッセージからゾンビ スタック トレースにソース コードがありません

スタック トレースがソース コードにリンクしていない場合に、[CALayer] の割り当て解除されたインスタンスへのメッセージをトレースする方法について誰かが支援してくれることを願っています。

XCode の Diagnostics で Zombie Objects を有効にし、Zombie プロファイリングを実行しました。

XCode での応答は、「2013-01-27 22:37:31.506 AdventureA[9695:11303] *** -[CALayer release]: message sent to deallocated instance 0x757b530」です。

機器からの応答は次のとおりです。 楽器 - ゾンビ

問題の原因を突き止める方法について、私は完全に途方に暮れています。私は何時間もソースコードを調べてきました...

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

ruby - レーキタスクを強制終了するときにゾンビプロセスを回避するにはどうすればよいですか?

いくつかのrakeタスクを連続して呼び出すbashスクリプトがあります。このスクリプトは、継続的インテグレーションサーバーによって呼び出されます。問題は、統合サーバーが(スクリプトにSIGTERMを送信して)タスクを強制終了した場合、プロセスツリー全体を強制終了できないことです。たとえば、Rakeが並列機能を使用して一連のrspecテストを実行している場合、スクリプトとトップレベルのrakeコマンドを強制終了できますが、必然的に一部のスレッドは続行されます。

これまで、bashスクリプト内で「trap」コマンドを使用するさまざまな方法を試しました。「kill-90」を使用して現在のプロセスグループを強制終了するなど、pstreeですべてのサブプロセスを検索しようとしました。ただし、rakeタスクの実行中にスクリプトが強制終了されると、トラップがバイパスされるようです。私が知る限り、Rake、またはおそらくRubyのスレッドライブラリは、プロセスグループに対して奇妙なことをしたり、トラップを妨害したりします。

スクリプトがrakeタスクの途中にない場合は、SIGTERMを正しくトラップし、「Received SIGTERM」をエコーし​​て、すべての子孫を強制終了します。

Rakeが親プロセス(bashスクリプト)のトラップステートメントに干渉する可能性はありますか?