問題タブ [kill]

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 投票する
6 に答える
40207 参照

android - Androidアプリ/サービスがタスクマネージャーから「強制終了」されるのを防ぐにはどうすればよいですか?

パスワードを持っている人が私のUI画面からサービスを停止するまで、私のサービスを実行し続けることが非常に重要です。私のアプリはうまく動作しますが、子供用の電話で保護者が(パスワードを使用して)オン/オフするように設計されています。私はなんとかすべてを機能させることができましたが、私が抱えている問題は、子供がタスクマネージャーを使用して私のサービスを強制終了した場合、私のアプリは役に立たないということです。どちらかへの道を知っている人なら誰にでも感謝します

1)サービスを監視し、サービスが「強制終了」された場合は自動的にバックアップを開始します。または2)サービスを起動したアクティビティ(管理画面)以外で誰かがサービスを強制終了できないようにします。または両方?

問題の説明がよくわからない場合は申し訳ありませんが、私は初心者です。私はこれまで大きな進歩を遂げましたが、この最後のハードルで立ち往生しています。

0 投票する
3 に答える
2046 参照

perl - Perl でアラームが作動したときにハングした孫プロセスをクリーンアップするにはどうすればよいですか?

私は、他の多くのスクリプトを呼び出す必要がある並列化された自動化スクリプトを持っています。そのうちのいくつかは、(誤って) 標準入力を待機したり、発生しない他のさまざまなことを待機したりするためにハングします。警戒して捕まえるから大したことじゃない。秘訣は、子プロセスがシャットダウンしたときにハングした孫プロセスをシャットダウンすることです。、待機、および処理グループのさまざまな呪文でSIGCHLDうまくいくと思いましたが、それらはすべてブロックされ、孫は刈り取られません。

うまくいく私の解決策は、それが正しい解決策であるようには思えません。Windows ソリューションには今のところ特に関心はありませんが、最終的には Windows ソリューションも必要になるでしょう。私のものは Unix でのみ動作しますが、今のところは問題ありません。

同時に実行する並列の子の数とフォークの総数を取得する小さなスクリプトを作成しました。

これはおそらく、数分以内にユーザーごとのプロセス制限に達します。私が見つけた多くの解決策は、ユーザーごとのプロセス制限を増やすように指示しているだけですが、これを約 300,000 回実行する必要があるため、うまくいきません。同様に、プロセステーブルをクリアするための再実行などの提案は、私が必要としているものではありません。ダクトテープを叩くのではなく、実際に問題を修正したいと思います。

プロセス テーブルをクロールして子プロセスを探し、ハングしたプロセスをハンドラーで個別にシャットダウンしますSIGALRM。実際のコードの残りの部分はその後成功する見込みがないため、ハンドラーを停止する必要があります。プロセス テーブルをざっくりとクロールすることは、パフォーマンスの観点からは気になりませんが、実行しなくてもかまいません。

プロセスを使い果たしたい場合は、killを取り出します。

プロセスグループを設定するとうまくいくので、すべてをまとめて殺すことができると思いましたが、それはブロックします:

POSIXの同じことsetsidも機能しませんでした。実際にはこれをデーモン化していないため、実際には別の方法で問題が発生したと思います。

不思議なことに、Parallel::ForkManagerrun_on_finish発生は同じクリーンアップ コードでは遅すぎます。その時点で、孫プロセスは明らかに子プロセスから切り離されているようです。

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

perl - プロセスが sigkill で強制終了された場合、再度実行するにはどうすればよいですか?

他のプロセスが強制終了しようとしているプロセスがあり、それらがそれを実行できた場合、そのプロセスが再び実行されることを確認するにはどうすればよいですか?

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

android - Android:アプリケーションが強制終了されたとき、新しいスタートアップのエントリポイントを設定する方法は?

現在のアプリケーション データを格納するために、静的フィールドのみを持つ別のクラスを使用しています。sharedpreferencesアプリケーションの起動時に部分的に読み込まれます。残りは、何らかのアクションの結果のようなデータであり、これらの結果 (結果を使用する複数のアクティビティ) をさらに閲覧するために使用されます。

ホーム画面に移動したり、他のアプリケーションを起動したりできます。自分のアプリケーションに戻ると、正しく動作します。

ただし、新Error Reporting機能以降、すべてエラーに関連するバグレポートがいくつかありnullreferenceます。null上記の別のクラスの静的フィールドへの参照であるオブジェクト。

私はバグを再現できないので、これはアプリケーションがメモリ不足のために強制終了されたことが原因であると考える傾向があります。再起動するとoncreate、ユーザーが現在参加していたアクティビティから呼び出されます。ただし、別のクラスのすべての静的データ復元されないため、クラッシュします。

知りたいのですが、アプリケーションが強制終了された場合に、最後に使用されたアクティビティから開始せずに、アプリケーションを強制的に「再起動」する方法はありますか? それともそれが標準的な振る舞いですか?プログラムでこれを行うことはできますか? 静的フィールドが null の場合のように、アプリを再起動しますか?

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

perl - 終了する前にビルド testcover プロセスを強制終了した場合、Perl Devel::Cover にカバレッジ レポートを生成させることはできますか?

Devel::Cover を正常に起動でき、cover_db ディレクトリでデータの収集を開始した場合、プロセスを強制終了してから、Devel::Cover またはその他のユーティリティを取得して、これらのバイナリ Devel:: を処理できますか?実行ファイルと構造ファイルを HTML カバレッジ レポートに含めますか?

別の言い方をすれば... Devel::Cover を使用して、プロセスを強制終了する以外に停止できないプロセスのカバレッジ レポートを取得できますか?

この質問は関連しています: Selenium で実行されたときに Perl CGI スクリプトのコード カバレッジを取得するにはどうすればよいですか?

0 投票する
17 に答える
246920 参照

python - プロセスを名前で強制終了しますか?

プロセス (特に iChat) を強制終了しようとしています。コマンド ラインでは、次のコマンドを使用します。

それで:

ただし、これらのコマンドを Python に変換する方法が正確にはわかりません。

0 投票する
4 に答える
18635 参照

java - SIGKILL Process.destroy()を使用してJavaでLinuxプロセスを強制終了するにはどうすればよいですか?

Linuxでは、java.lang.Processオブジェクト(実際に型指定されたjava.lang.UNIXProcess)でdestroy関数を実行すると、プロセスにSIGTERMシグナルが送信されますが、SIGKILLでそれを強制終了する方法はありますか?

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

python - Windows プログラムを強力に強制終了すると、「問題」の報告がスタックする

Pythonスクリプトからテストすると、クラッシュしてユーザーにダイアログを表示するWindows exeプログラムを強制終了する手段を探しています。このプログラムは何度も呼び出され、繰り返しクラッシュする可能性があるため、適切ではありません。

問題ダイアログは、Windows エラーの標準レポートです。

「Foo.exe に問題が発生したため、終了する必要があります。ご迷惑をおかけして申し訳ありません」

また、[デバッグ]、[エラー レポートを送信]、および [送信しない] ボタンがあります。

クラッシュに起因する他の形式のダイアログを強制終了できます (たとえば、デバッグ ビルドの assert failure ダイアログは問題ありません)。

.exe の呼び出しに使用されたサブプロセス モジュールの Popen オブジェクトで、taskkill.exe、pskill、および terminate() 関数を試しました。

この特定の問題に遭遇し、解決策を見つけた人はいますか?

ウィンドウを選択するためのユーザー入力を自動化することを期待しており、「送信しない」ボタンを押すことは1つの可能な解決策ですが、可能であればもっと簡単なものが欲しいです

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

android - Android:子プロセスを強制終了するアクティビティでプロセス信号を受信する方法は?

私のアプリケーションは、Runtime.exec() を呼び出して、起動時に別のプロセスで実行可能ファイルを起動します。親アクティビティが終了したときに、この子プロセスを強制終了したいと思います。これで、onDestroy() を使用して通常のケースを処理できますが、onDestroy() を実行しないため、「強制終了」、DDMS からのシャットダウン、またはコンソールからの強制終了はできません。これらの場合でも addShutdownHandler() は呼び出されないようです。

アクティビティが終了しようとしていることをアクティビティに通知する他のフックまたはシグナル ハンドラはありますか? 別の方法として、親プロセスが終了したときに子プロセスを自動的に終了させる方法はありますか?

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

perl - Perlで出力をリダイレクトするときのforkexeckillの問題

タイムアウトでプログラムを実行するために、perlでスクリプトを作成しました。実行中のプログラムに時間がかかる場合は、スクリプトがこのプログラムを強制終了して「TIMEOUT」というメッセージを返すよりもタイムアウトになります。

実行されたプログラムの出力をリダイレクトすることを決定するまで、スクリプトは非常にうまく機能しました。

stdoutとstderrがリダイレクトされているとき、スクリプトによって実行されたプログラムは、フォークから取得したものとは異なるpidを持っているため、強制終了されません。

perlはリダイレクトの場合に私のプログラムを実行するシェルを実行しているようです。

出力リダイレクトが欲しいのですが、タイムアウトの場合でもプログラムを強制終了できます。

どうすればそれができるかについてのアイデアはありますか?

私のスクリプトの簡略化されたコードは次のとおりです。

助けてくれてありがとう。