簡體   English   中英

Qt / c ++:如果此進程未運行,則啟動該進程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM