Qt/c++:如果进程未运行,则启动该进程



我用Qt/c ++编写了一个应用程序,该应用程序目前正在检查某些状态并启动一个新进程,以防语句变为真。

当语句为真时,我可以启动新进程,但应用程序必须通过计时器定期检查语句。我想确保如果语句变为真并保持为真,我不会多次启动应用程序。

这是当前代码

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 来检查进程是否正在运行。

相关内容

  • 没有找到相关文章

最新更新