Question:最近在linux下作的一个项目,设置了crontab自启动,但是经常出现启动多个进程的原因,针对这种情况,我做了如下处理:
QLockFile *lockFile = new QLockFile("temp/appName.app.lock"); if (!lockFile ->tryLock(2000)) { //上锁失败,不能启动 qDebug() << "app is running"; }else { qDebug() << "app is not running"; }
1、QLockFile的构造函数的参数就是指定一个锁文件的地址
2、tryLock的参数为等待时间
3、如果程序没有启动则对文件上锁,如果启动则退出