問題タブ [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.
objective-c - NSMutableArray のメモリ管理により、Objective-C オブジェクトがなくなりました
にオブジェクトを追加するときのメモリ管理に関して問題がありますNSMutableArray
。奇妙なことに、最初に追加した 8 つのオブジェクトはすべて正常に動作していますが、9 つ目を追加すると、このオブジェクトを取得するときにアプリケーションがクラッシュします。
これは、テキストの異なるいくつかの場所で行われています。しかし、このオブジェクトには、UITableView
.
デリゲートのメソッドでオブジェクトをnotify
に追加し、その配列内のオブジェクトを表示するをリロードします。UploadStatus
NSMutableArray
UITableView
UploadStatus
オブジェクトを配列に追加してテーブルをリロードする最初の 8 回は、正しく表示されます。しかし、9回目にエラー[CFString preserve]: message sent to deallocated instance 0x5c655c0 が発生しました。このエラーは、cellForRowAtIndexPath
メソッドでテーブルをリロードするときに発生します。
奇妙なことは、このスクリーンショットのように、 内のオブジェクトが範囲外であることを常に示していることです。NSMutableArray
UploadStatus
それにもかかわらず、アイテムをフェッチし、それをクラスに変換してstatus
から取得すると、すべてがスムーズに進みます (最初の 8 つのオブジェクトに対して)。
UploadStatus
に9番目のオブジェクトを追加した後、なぜうまくいかないのか、誰にも手がかりがありNSMutableArray
ますか?
助けてくれてどうもありがとう!
iphone - メモリリーク vs ゾンビ - iPhone
ゾンビが原因で iPhone アプリがクラッシュするか、メモリ リークが発生しています。コードを 3 行に絞り込み、コードをコメント化/コメント解除することで、2 つのうちの 1 つを確実に発生させることができます。バグは、結果のリスト (tableView) とマップといくつかのラベルを含む詳細ページの間のナビゲーションで発生し、マップから結果のリストに戻る最初のナビゲーションでメモリ リークが発生し、おそらく 5/ 6 回別の結果に移動して戻る。
linux - シェルスクリプトでLinuxの機能していないプロセスを強制終了する方法
私のサーバー マシンでは、一部のプロセスが毎日機能していない状態になります。CPU使用率に影響します。機能していないプロセス ID と親 ID を強制終了するシェル スクリプトを作成する必要があります。
たとえば、次のコマンドを実行すると:
5 つの値が見つかりました。その中で、「[chrome] defunct」プロセスのみを強制終了する必要があります。
記入例:-
このタイプのクロムエントリを強制終了する必要があります。エントリを殺すためにいくつかのサンプルを提案できますか
c - フォーク、変数の共有、ゾンビプロセスの処理
いくつかのフォークを伴う宿題のプログラムを書いていますが、変数の共有とゾンビプロセスの処理については少しわかりません。
グローバル変数がある場合、親とすべての子はそれらのグローバル変数の同じ「コピー」で動作しますか?そうでない場合、それらを(
vfork
?)に到達させる方法はありますか?ゾンビのプロセスが何であるかは知っていますが、それらを取り除く方法がわかりません。
wait()
私のプログラムは多くの一時的なプロセスをスピンオフするので、それぞれを個別に実行できるかどうかはわかりません。親プロセスが終了すると、それに関連付けられているすべてのゾンビが削除されますよね?親が子の前に終了した場合はどうなりますか?子供はゾンビが終わったときにゾンビを置き去りにしますか(これらはinit()
定期的にクリアされますか)?子プロセスの結果は実際には気にしないので、質問2を完全に回避する可能性がありますが、ゾンビをまったく残さないようにする方法はありますか?何かを見ました
signal(SIGCHLD, SIG_IGN)
が、使い方がわかりません。見つけたマンページはやや鈍感でした。
c - ps のゾンビ化スレッド (c で書かれたスレッド化されたプログラムの場合)
ここで何が間違っているのかわからないのではないかと心配しています。起動時に 3 つのスレッドを開始するスレッド化されたアプリケーションがあります。
その後、スタンバイ モードでシリアルからのコマンドを待ちます。実行してスタンバイモードに戻った後、psで何が起こっているのかを確認します。アプリケーションのゾンビ化されたインスタンスがあります (ファイル名も sq.bracketed です)
それらの約628。
つまり、私が従っているポリシーは次のとおりです。
-取り外し可能なスレッドの場合 - 気にしない (完了後に終了し、リソースを解放します)
-結合可能なスレッドの場合 - pthread_create を実行した後に pthread_join を実行し、スレッド化された関数が完了するのを待ちます。このような:
私は main でのみ pthread_exit(NULL) を実行しますが、これはあまり機能せず、起動後は、強制終了してはならないという理由だけでうそをつくだけです。
私はおそらくここで重要なことを忘れています。しかし、スレッドに関するいくつかの基本的なガイドを読んだ後、何を明確にすることはできません....
ご協力ありがとうございました
r - 並列パッケージを使用してゾンビプロセスを削除します
DebianベースのマシンでRの並列パッケージを使用してしばらく遊んだ後でも、計算後にすべてのゾンビの子プロセスを削除する方法を見つけることができません。
一般的でOSに依存しないソリューションを探しています。
2つのコアの問題を説明する簡単なスクリプトを以下に示します。
残念ながら、このスクリプトはプロセステーブルに2つのゾンビプロセスを残しますが、これらはRがシャットダウンされた場合にのみ強制終了されます。
iphone - TreasureList tableView:didSelectRowAtIndexPath 中のゾンビ エラー
テーブルビューにいくつかのアイテムをリストするiPhoneアプリケーションに取り組んでいます。項目をクリックすると、TreasureList tableView:didSelectRowAtIndexPathイベントのエラーが発生します。このエラーについて混乱しています。エラーは
[TreasureList tableView:didSelectRowAtIndexPath:]: message sent to deallocated instance 0x7ce0020
コードは次のとおりです。
また、「deallocated instance 0x7ce0020」という情報をデバッグする方法を教えてください。
次の方法で tableivew にデータを追加しています。
c - カーネルでスレッドを処理する適切な方法は?
私はあちこちに散らばった情報を見てきましたが、最終的な答えを1つ得ることができないようです。カーネルでゾンビスレッドをどのようにクリーンアップしますか?
念のため、カーネルでスレッドを処理する最終的な正しい方法を作成するために、この質問をもっと広く質問したいと思います。Linuxカーネルでスレッドを作成、終了、およびクリーンアップするにはどうすればよいですか?
私がこれまでに持っているのはこれです:
クリーンアップソリューションに最も近いものはrelease_taskですが、それについて話しているところはどこにも見つかりませんでした。kthread_create
スレッド関数は、などなので、またはkthread_run
があるはずだと想像しましたが、ありませんでした。また、可能性が高いように見えましたが、それはかかりません。kthread_join
kthread_wait
do_wait
struct task_struct *
さらに、それがdo_exit
良いアイデアなのか、それとも必要なのかはわかりません。誰かが、kthreadを作成、終了、およびクリーンアップする方法の最小限のスケッチを思い付くことができますか?
websocket - TornadoのWebSocket実装は、ゾンビWebSocketを見つけて閉じるために何をしますか?
ブラウザが強制的に終了し、Tornadoサーバーにクローズメッセージが送信されないとします。Tornadoは、この接続がクライアント側で終了したことをどのように知っていますか(または知っていますか?)?Tornado WebSocketコードを調べても、これはわかりません。
サーバー側のon_closeメソッドが数分間呼び出されないことがあるので(おそらくクライアントが終了メッセージを送信できなかったため)、Tornadoはクライアントがなくなったことに気づき、ソケット自体。
何か洞察はありますか?
c++ - pthread_joinに失敗すると、子プロセスがゾンビになりますか?
Popenを使用してシェルスクリプトを呼び出すC++pthreadスレッドがあります。
あるケースで観察されるのは、pthread_joinの失敗がキャッチされ(つまり、pthread_join!= 0)、子プロセスがゾンビのままである(ps出力による)ことです。
これにより、メインプログラムもハングします。
今のところ、pthread_joinが失敗する理由はわかりません。これは、他のシナリオでは失敗しなかったためです。
しかし、Popenによって生成された子プロセスの待機ステータスの収集がthread_joinの一部であるかどうかを知りたいです。少なくともそうであれば、結合の失敗がゾンビの根本的な原因であり、プログラムがハングすることを確信できます。
前もって感謝します..