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、如果程序沒有啟動則對文件上鎖,如果啟動則退出