2017-03-25 52 views
1

我在ubuntu 16.04下开发。 我遇到的问题是:我想检测用户是否已经启动应用程序,如果是的话,它直接退出。在linux下Qt如何检测进程已经在运行?

我试过用QLocalServer,QSharedMemory来实现。 但问题是:

如果程序崩溃没有正确关闭本地服务器或销毁共享内存,则本地套接字/共享内存留在OS和防止用户再次启动程序。

如何处理?

+2

当你的进程死亡时,你的操作系统应该关闭资源,我怀疑它没有完全死亡,并且仍然在内存中。通常这是通过打开特定文件进行写入来完成的,因为每次只有一个进程可以执行此操作。 – nwp

+0

但在Linux下似乎这是Qt的常见现象......只是想知道是否有任何解决方法? – Nyaruko

+1

文件解决方法不足的方式是什么? – nwp

回答

相关问题