我想确保用户不能运行多个我的应用程序实例。我的伪代码如下所示:
sem_t one_instance_only=sem_open(UNIQUE_NAME,O_CREAT | O_EXCL,...);
if(SEM_FAILED==one_instance_only)
{
if(E_EXIST==errno)
{
// application already running
exit(1);
}
}
sem_close(...);
//without the call to sem_unlink() the semaphore still lingering even if app not
// running
sem_unlink(...);
我试过了,它可以工作,但我只是想确保我做对了,并且在某个地方没有任何问题。