小编Cha*_*lee的帖子

QProcess失效,无法再次启动

我正在使用QProcess对象列表来跟踪需要以用户定义的间隔启动/停止的某些进程.

我能够启动和停止进程.但是当我使用以下方法(伪代码)停止进程时会出现问题:

process->start("PathToProcess","Some Arguments");
//Do some stuff.
process->terminate();
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在另一个时间再次启动该过程,我会收到错误:

QProcess::start:  Process is already running
Run Code Online (Sandbox Code Playgroud)

我可以做一个ps -ef | grep processName并发现它确实已经死了,但是它处于一个已经不存在的状态,我认为这会阻止我再次启动它.

我需要做些什么来防止这种失效状态,或者删除失效方法,以便我可以重新开始我的过程而不重建?

c++ qt qprocess

3
推荐指数
1
解决办法
3367
查看次数

标签 统计

c++ ×1

qprocess ×1

qt ×1