2017-03-25 72 views
1

我在ubuntu 16.04下開發。 我遇到的問題是:我想檢測用戶是否已經啓動應用程序,如果是的話,它直接退出。在linux下Qt如何檢測進程已經在運行?

我試過用QLocalServer,QSharedMemory來實現。 但問題是:

如果程序崩潰沒有正確關閉本地服務器或銷燬共享內存,則本地套接字/共享內存留在OS和防止用戶再次啓動程序。

如何處理?

+2

當你的進程死亡時,你的操作系統應該關閉資源,我懷疑它沒有完全死亡,並且仍然在內存中。通常這是通過打開特定文件進行寫入來完成的,因爲每次只有一個進程可以執行此操作。 – nwp

+0

但在Linux下似乎這是Qt的常見現象......只是想知道是否有任何解決方法? – Nyaruko

+1

文件解決方法不足的方式是什麼? – nwp

回答

相關問題