我正在開發gui應用程序(C++/Qt),現在正在尋找應用程序的正確(記錄)終止方式。是否有任何文檔說明Unity DE如何通知gui應用程序退出(Windows上的WM_QUERYENDSESSION信號的某些模擬)?在Unity,Ubuntu中捕捉關閉事件的方法13.04
1
A
回答
0
關閉發送給init(8)服務的請求,使系統分解成相應的運行級別。這是通過發出runlevel(7)事件來執行的,該事件包括RUNLEVEL環境變量中的新運行級別以及PREVLEVEL變量中的以前的運行級別(從環境或從/ var/run/utmp獲取)。
換句話說,你可以捕捉信號SIGTERM
您的應用程序,並在收到它,通過讀取/var/run/utmp
和/或/var/log/utmp
或執行runlevel
命令查看當前運行級別。如果runlevel
返回類似2 0
(prevlevel運行級別),則表示系統正在嘗試從級別2
切換到級別0
,即要關閉。 這可能會讓您對當前的關機做出非常短的時間(但我認爲您不能阻止它)。
+0
捕獲SIGTERM似乎不是終止Gui應用程序的正確方法,因爲它似乎在DE停止後處理,並且在DE/XServer上停止我的應用程序只是崩潰。 – asaenko
相關問題
- 1. SearchView:無法捕捉關閉事件
- 2. 慶典:!「:事件在Ubuntu 13.04
- 3. 如何捕捉「關閉」點擊事件?
- 4. 如何捕捉窗口關閉事件?
- 5. 捕捉瀏覽器關閉事件
- 6. 在模態關閉後捕捉Angular Bootstrap UI $ uibModal關閉事件
- 7. 如何在java swing中捕捉關閉事件
- 8. 在Web瀏覽器中捕捉選項卡關閉事件?
- 9. 在Firefox擴展中捕捉關閉選項卡事件
- 10. 如何在iOS中關閉RNBlurModalView時捕捉事件
- 11. 在Android瀏覽器中捕捉瀏覽器關閉事件
- 12. 在Actionscript/Flex應用程序中捕捉關閉/卸載事件
- 13. 如何在Chrome瀏覽器中捕捉事件關閉?
- 14. 無法在Ubuntu 13.04
- 15. 捕捉瀏覽器關閉事件沒有刷新事件
- 16. 有沒有辦法在iBook小部件中捕捉「關閉」事件?
- 17. 我如何捕捉Android中的彈出關閉事件
- 18. 捕捉零件的關閉事件(Eclipse e4 RCP)
- 19. 在VBScript中捕捉事件
- 20. 如何在電話顯示關閉時捕捉按鈕事件
- 21. 在simulink中關閉網格捕捉
- 22. 在angularJS中捕捉部分關閉
- 23. 捕捉事件
- 24. 捕捉事件
- 25. 以編程方式捕捉窗口關閉事件時,GDI資源不存在
- 26. 如何在不捕捉關閉事件或更改url事件的情況下捕獲僅刷新事件?
- 27. 在Ubuntu 13.04
- 28. 方法捕捉
- 29. 如何捕捉事件,當網頁只能通過關閉按鈕關閉
- 30. Ubuntu 13.04關機倒計時
它在什麼DE應用程序正在運行?可能有一個DE/OS獨立的方式? –