[英]Qt/c++ : start a process if this process is not running
我已經用Qt / c ++編寫了一個應用程序,該應用程序當前正在檢查某些狀態並開始新的處理,以防語句變為真。
語句為真時,我可以啟動新過程,但應用程序將必須通過計時器定期檢查該語句。 我想確保在語句變為true並保持為true的情況下,不會多次啟動該應用程序。
這是當前代碼
QProcess *process = new QProcess();
process->startDetached(fileBrowserExecutablePath);
我知道可以使用檢查流程
process->state() == QProcess::NotRunning
但是要檢查這一點,我需要先啟動流程,否則流程不知道要檢查什么。 我的意思是要檢查哪個過程。
對如何檢查過程有任何想法嗎?
我試圖使用我要啟動的應用程序來初始化進程,但是無法構建。
就像是 :
QProcess *process = new QProcess(fileBrowserExecutablePath);
謝謝
您不能使用Qt(當然,如果您之前沒有使用QProcess
創建流程)。 您必須使用特定於平台的API來檢查該進程是否正在運行。
但是,如果確實啟動了該過程,則可以使用QProcess
對象檢查其狀態。 您可以這樣做:
QProcess *process = new QProcess();
process->start(fileBrowserExecutablePath);
///...
p->state() == QProcess::Running
這樣,您可以使用process
對象檢查狀態。 但是請注意,如果沒有process
對象,則必須使用本機API來檢查流程是否正在運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.