Signals

故意創建一個不響應_NET_WM_PING的圖形程序

  • March 29, 2019

有時我很好奇視窗管理器如何處理不響應的應用程序_NET_WM_PING,例如彈出視窗顯示“您要終止此應用程序嗎? ”這對於調試 圖形應用程序和了解各種應用程序如何處理不同的信號不同的視窗管理器 與應用程序互動

例如:

我想故意觸發這些行為,並能夠執行無響應的程序strace以查看它接收到的信號。我正在考慮 Python/Tkinter 或例如 bash/zenity 腳本,但我對其他可能性持開放態度。理想情況下,該程序不會使 CPU 飽和,但這不會破壞交易。(請注意,這SIGSTOP不會從視窗管理器中觸發所需的行為。)

有什麼簡單而可靠的方法來故意創建一個不響應_NET_WM_PING並因此引起視窗管理器注意的圖形程序?

確切的答案將取決於框架等。

所有 GUI 框架上的通用“執行緒”是一個中央/主事件處理程序,它接收重繪、鍵盤和滑鼠輸入等的事件/請求。

那就是處理程序,您可以在其中處理不會響應但處於緊密while true; do nothing; done循環中的事件。

你可以用幾行程式碼搞定一個 GUI 應用程序,然後將它包裝在能捕捉到你信號的東西中。Tkinter 與 python say 非常簡單。看這裡

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