0

假设我在 Linux 的终端中启动一个进程,如果终端关闭,则在终端中启动的子进程也会退出(即使进程是使用 sudo 启动的)。但是如果我在应用p1程序中启动一个进程(比如说),然后关闭应用程序,进程仍然会继续运行,就好像它是一个守护进程一样,即使我没有使用.QProcessGUIguip1QProcess::startDetached()

process1->start("gksudo",args);

process1->terminate();
process1->close();

在关闭事件中。

4

2 回答 2

0

Try adding

delete process1;

in GUI class destructor.

于 2012-11-14T09:25:25.073 回答
0

你是如何初始化你的 QProcess 的?mainwindow.cpp当我在关闭主应用程序时关闭子进程中执行以下操作(在 Windows 上)时。

QProcess* proc = new QProcess(this);
proc->start("notepad.exe q:/blah2.txt");

通过使 MainWindow 成为 QProcess 的父级,MainWindow 将在其 QObject 析构函数期间销毁并关闭它。

于 2012-11-14T17:03:38.760 回答