在 Java CLI 應用程式中攔截 Ctrl C
程式設計師經常試圖在 CLI 應用程式中攔截 Ctrl C 擊鍵。此操作通常與終止進程相關,對於實現正常的應用程式關閉或其他自訂行為非常有價值。
多平台解決方案
不幸的是,找到一個標準化的解決方案跨不同作業系統的解決方案證明具有挑戰性。但是,有一些特定於平台的方法可用:
類別 Unix 系統:
利用 SignalHandler 捕捉 Ctrl C 產生的 SIGINT 訊號。請參閱連結文章 (作為 PDF)以了解更多資訊。
Windows:
使用 Runtime.getRuntime().addShutdownHook() 方法。這種方法允許在 JVM 完全終止之前執行自訂程式碼。
使用 Console 的 readLine()
雖然可以使用 Console 的 readLine() 方法讀取字元從標準輸入,它缺乏攔截 Ctrl C 的能力。請考慮使用專用函式庫或低階系統相關機制來攔截擊鍵。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3