Qt 单例运行程序

QSystemSemaphore ss("iLavender", 1, QSystemSemaphore::Open);
ss.acquire();//获取临界区

QSharedMemory shared("iLavenderAssistant");//随便填个名字就行
if (!shared.create(1))
{
    ss.release();//UNIX会自动释放return 0;
}
ss.release();//释放临界区

//注意:这段代码不能放在代码段中如:{ ...}中和do{...}while(0);中,否则无效。可能是因为当里面变成了局部变量。

原文地址:https://www.cnblogs.com/tingtaishou/p/14745353.html