Gui

可以向 Linux 程序發送它們可以在 UI 中響應的 SIGXXX 命令嗎?

  • August 4, 2014

我正在嘗試超時命令,並想知道是否有 GUI 程序、圖形桌面或終端程序將視為使用者從 UI 終止程序的終止信號,如File| Exit命令或點擊X按鈕在視窗上,從而提示使用保存任何打開的文件。

kill -l顯示超過 64 個選項。它們中的任何一個單獨組合是否等同於終止的 GUI 選項?

我已經嘗試過nano作為範例,但到目前為止我嘗試過的選項除了 SIGTERM 之外都不起作用。

不。使用者通常用來終止程序的主要信號是:

  • SIGINT(在終端中由Ctrl+發送C)——中止目前操作並進入頂層互動循環。如果程序沒有頂級互動循環,則終止程序。
  • SIGTERM — 徹底停止程序。這可能會進行緊急保存。
  • SIGHUP — 當終端離開時由系統發送給在終端上執行的程序。通常像 SIGTERM 一樣處理。
  • SIGQUIT(在終端中由Ctrl+發送\)— 在沒有任何清理和轉儲核心的情況下死掉(用於調試)。
  • SIGKILL — 程序終止,沒有機會進行任何清理。

這些都沒有傳統的含義,程序會提示使用者做任何事情。一個程序在 SIGTERM 上提示可能是有意義的,但我想不出一個程序可以做到這一點。有些程序會在 SIGINT 上提示,提供返回頂層或退出程序或進入調試模式的選擇。一般來說,當程序接收到 SIGTERM 時的假設是使用者不在控制台前與程序互動,或者程序沒有響應——否則使用者將使用互動控制項而不是發送信號。

GUI 事件(例如點擊x視窗標題欄中的按鈕)不會發送信號,它們會在正常的 X11 通信通道上發送事件。

引用自:https://unix.stackexchange.com/questions/148040