我需要检查我的Qt GUI应用程序是否已在当前X会话中运行。 也就是说,我想禁止运行它的几个实例。但是通过运行几个实例 应该允许不同的用户或同一用户在另一个(即远程)X服务器上。
如何做到这一点?
谢谢。
答案 0 :(得分:9)
Qt已经为每个用户的单个实例提供了解决方案:QtSingleApplication。检查这是否适合你。
答案 1 :(得分:0)
启动程序时创建一个dotfile(比如〜/ .yourapp-xsessionID),并在退出时删除它;文件已存在(即它已经运行)打印出错误信息并退出。
有关此方法的问题,请参阅Firefox。