Javaを使ったプロセスの強制終了
2023-09-11 09:50:29
質問
起動したプロセスを kill する方法を知りたいです。私は Process API を知っていますが、firefox.exe などのすでに実行中のプロセスを殺すためにそれを使用できるかどうか、確信がありません。Process APIが使用できるのであれば、正しい方向を示していただけませんか?そうでない場合、他の利用可能なオプションは何ですか?ありがとうございます。
どのように解決するのですか?
Javaアプリケーションの内部から処理を開始した場合(例.
Runtime.exec()
または
ProcessBuilder.start()
) であれば、有効な
Process
への有効な参照を持ち、その参照に対して
destroy()
メソッドを
Process
クラスでその特定のプロセスを kill します。
しかし、呼び出したプロセスが新しいサブプロセスを作成した場合、 それらのプロセスは終了しない可能性があることに注意してください ( http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4770092 ).
一方、外部プロセス (Java アプリから生成したのではない) を停止したい場合、それを可能にする O/S ユーティリティを呼び出すことができます。たとえば
Runtime.exec()
で
kill
コマンドを実行し、アプリケーションが終了したかどうかを確認するために戻り値をチェックします (0 は成功、-1 はエラーを意味します)。しかし、これはもちろん、アプリケーションをプラットフォームに依存させることになります。
関連
-
[解決済み】Macでポート3000をロックしているプロセスを検索(およびkill)する
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
無効な文字定数
-
Junitのユニットテストはjava.lang.Testを報告します。
-
アノテーション「@Retention」の役割
-
Junitのユニットテストエラー
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。