Reputation: 903
I need to check if my Qt GUI application is already running in the current X session. That is, I want to forbid running several instances of it. But running several instances by different users or by the same user on another (i.e. remote) X server should be allowed.
How can this be done?
Upvotes: 2
Views: 3232
Reputation: 69505
Qt has already a solution to single instance per user: QtSingleApplication. Check if this suits you.
Upvotes: 9
Reputation: 37198
Create a dotfile (say, ~/.yourapp-xsessionID) when launching the program, and delete it when exiting; it the file already exists (i.e. it's already running) print out an error message and exit.
For the problems with this approach, see Firefox.
Upvotes: 0