[解決済み] CLIアプリケーションでCtrl+Cを「傍受」するには?
2023-05-03 03:31:36
質問
どうすれば インターセプト Ctrl + C (これは通常プロセスを殺すでしょう) をCLI(コマンドラインインターフェイス)Javaアプリケーションで実行できますか?
マルチプラットフォームソリューションは存在しますか (Linux、Solaris、Windows)?
私は
Console
's
readLine()
というように,標準入力から文字を読み込むことができますが, 必要であれば他の方法で
を使用して標準入力から文字を読み取ることができます。
どのように解決するのですか?
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() { /*
my shutdown code here
*/ }
});
これは、シグナルをインターセプトすることができるはずですが、JVMがそれ自体を完全にシャットダウンする前の中間段階としてのみ行われるので、あなたが探しているものでないかもしれません。
を使用する必要があります。
SignalHandler
(
sun.misc.SignalHandler
) を傍受するために
SIGINT
シグナルを傍受します。
Ctrl
+
C
(Windowsだけでなく、Unixでも)。
参照
この記事
(pdf、8ページと9ページ)をご覧ください。
関連
-
javaの非静的メソッドを静的に参照することができない
-
java.sql.SQLException: 結果セットの開始前
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
プロジェクトの依存関係を解決できない。
-
強制型変換について
-
SocketException java.netの4つの例外解決策。
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ