29

Eclipseでは、ctrl + cをプロセスに送信したい場合はできないようです。コンソールの終了ボタンは、シャットダウン フックを実行せずに、実行中のプロセスを強制終了するだけです。Java自体が別のプロセスにシグナルを送信することを許可していないことを私は知っています。

ただし、Intellij のアイデアには、「停止」ボタンの横に「終了」ボタンがあり、シャットダウン フックを実行できるようです。

intellijがこれをどのように行うか誰か教えてもらえますか?

プログラムから別の Java プロセスにも ctrl+c を送信する必要があります。

4

2 に答える 2

4

Intellij はネイティブ ライブラリを使用して、Windows ではシグナルを送信し、Unix ではコマンド kill を送信します。
ここにソースコードがあります

Java でシグナルを送信できないと言いましたか。したがって、ネイティブ コードを実行する必要があります。
ここで質問を見てください

于 2013-04-19T19:17:39.837 に答える
1

これは、Eclipse を使用する Windows でのみ発生することを理解しています。参照: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

フックをテストするだけであれば、 System.exit() を呼び出すことで実行できます。ユーザーは Eclipse を使用してアプリケーションを実行しないと思われるため、ユーザーのために動作することを期待しても問題ありません。

于 2010-03-04T16:31:18.253 に答える