問題タブ [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.
xcode - iOSテスト/シミュレーターの実行後にゾンビプロセスを離れるXcode
iOSアプリでXcodeを数日間使用した後、100を超えるゾンビプロセスがぶら下がっていることに気づきました。単体テストを実行するたびに1つ、シミュレーターでアプリ全体を実行するたびに1つあるようです。サンプル(クリーンアップおよび切り捨て)は次のとおりです。
最後から2番目の列のZは、それらがゾンビプロセスであることを示します。launchd
3番目の列の236は親PIDであり、この場合は私のユーザーに属します。
一部のプロセスは数日前のものであることに注意してください。この期間中にXcodeを数回終了し、再開しました。
なぜこれが起こるのか、またはこれが警報の原因になるべきかどうか誰かが知っていますか?
python - python / djangoはバックグラウンドプロセスを生成し、ゾンビプロセスを回避します
django でバックグラウンド プロセスを生成する必要があります。ビューはすぐに戻り、バックグラウンド プロセスは引き続きいくつかの変更を加えてから、データベースを更新します。これはos.spawnl()
、別の .py ファイルを呼び出す関数によって行われます。
問題は、バックグラウンド処理が完了した後、ゾンビ関数になること[python] <defunct>
です。
どうすればそれを回避できますか? thisとthisの例に従いましたが、django レンダリング プロセスの後で子プロセスをゾンビとして取得しました。
この機会に *nix プロセス管理スキルを練習したいので、お願いします。Celery やその他の mq/async タスク ソリューションを提供しないでください。
c++ - 親に子プロセスを刈り取らせる
私は親から子プロセスを殺そうと必死に努力してきました。
私が試した:1。-15pidを殺す
キルショットガンpid
-9pidを殺す
Linuxでps-Aの場合、子プロセスを「defunct」(ゾンビ)と書くことですべて解決しました。
プロセスを強制終了し、プロセステーブルから強制的に削除するにはどうすればよいですか。プロセステーブルにレコードがないため、コードでプロセスが停止していることを確認する方法であるため、クリーンアップする必要があります。
ありがとう :-)
c - コードで作成され、別の部分で強制終了されたゾンビプロセス
「ゾンビクリエーター」と「ゾンビターミネーター」を書きたい。重要な点は、ある部分でゾンビを作成し、コードの他の部分でゾンビを終了させたいということです。私はCを使用しています。
例:
.. elseの場合、fork()を使用してこれを行う方法を知っていますが、それは重要ではありません。ある種のリモコンを探しています。それは可能ですか?彼を長い間眠らせることは解決策かもしれませんか?
c - Linuxでゾンビプロセスを作成できません
さて、私は奇妙な問題を抱えています。プロジェクトでゾンビプロセスを作成できませんが、他のファイルで作成できます。簡単な手順があります:
その単純なコードは、10秒間ゾンビプロセスを作成します。私がチェックしていますが、実際に存在しています。
しかし、このコードを自分のプログラム(自分のシェル)にコピーすると、ゾンビプロセスの前と同じように実行されるすべてのものがまったく存在しなくなります。何が違うのかわかりません。同じコードです。
それについて知っておくべき情報は他にありますか?簡単な方法でゾンビを作成する他の方法はありますか?
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.
c++ - linux fork - execl、実行したプロセスがゾンビになる
子プロセスからトゥインクル コマンド ラインを実行しようとしています。たとえば、次のようにします。
しかし、きらめきはゾンビになります:
signal(SIGCHLD, SIG_IGN); を設定しようとしました。しかし、成功しませんでした。実際には、twinkle が終了する前に、子プロセスが終了したと思います。
次のようにコマンドラインからトゥインクルを実行します。
ゾンビにはなりません - トゥインクルは適切に閉じます。私がそこに欠けているものは何ですか?
iphone - ViewController の割り当て解除時の Rogue Zombie
Xcode で、新しいマスター/ディテール プロジェクトを開始します。それを「テスト」と呼びます。
それに新しい「ファイル」を追加します。UIViewController
XIBでファイル化します。それを TestViewController と呼びます。
insertNewObject:
メソッド内の MasterViewController コードを次のように変更します。
dealloc
メソッドを TestViewController.m に追加し、単純に呼び出します[super dealloc];
ここにブレークポイントを置き、アプリを実行します。すべて正常に実行されるはずです。
ただし、ゾンビ オブジェクトを有効にすると*** -[TestViewController class]: message sent to deallocated instance 0x7484f20 error
、ステップ オーバー時にが表示される場合があります[super dealloc]
。
これもわかりますか?私は iOS6.0 シミュレーターを使用しており、これにつながった問題をデバッグしようとしていることに遭遇しました。
考えていただければ幸いです。iOSのバグですか?それともシミュレーターのバグ?
「明快さ」のための TestViewController コードを追加
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」です。
機器からの応答は次のとおりです。
問題の原因を突き止める方法について、私は完全に途方に暮れています。私は何時間もソースコードを調べてきました...
ruby - レーキタスクを強制終了するときにゾンビプロセスを回避するにはどうすればよいですか?
いくつかのrakeタスクを連続して呼び出すbashスクリプトがあります。このスクリプトは、継続的インテグレーションサーバーによって呼び出されます。問題は、統合サーバーが(スクリプトにSIGTERMを送信して)タスクを強制終了した場合、プロセスツリー全体を強制終了できないことです。たとえば、Rakeが並列機能を使用して一連のrspecテストを実行している場合、スクリプトとトップレベルのrakeコマンドを強制終了できますが、必然的に一部のスレッドは続行されます。
これまで、bashスクリプト内で「trap」コマンドを使用するさまざまな方法を試しました。「kill-90」を使用して現在のプロセスグループを強制終了するなど、pstreeですべてのサブプロセスを検索しようとしました。ただし、rakeタスクの実行中にスクリプトが強制終了されると、トラップがバイパスされるようです。私が知る限り、Rake、またはおそらくRubyのスレッドライブラリは、プロセスグループに対して奇妙なことをしたり、トラップを妨害したりします。
スクリプトがrakeタスクの途中にない場合は、SIGTERMを正しくトラップし、「Received SIGTERM」をエコーして、すべての子孫を強制終了します。
Rakeが親プロセス(bashスクリプト)のトラップステートメントに干渉する可能性はありますか?