QT防止程序多次启动

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、如果程序没有启动则对文件上锁,如果启动则退出

posted @ 2019-07-08 18:13  徐沛东  阅读(2022)  评论(0编辑  收藏  举报