簡體   English   中英

如果我們關閉主應用程序,以QProcess開始的過程不會退出

[英]Process started with QProcess doesn’t exit if we close the main application

假設我在Linux的終端中啟動了一個進程,如果終端關閉,則在終端中啟動的子進程也會退出(即使使用sudo啟動了進程)。 但是,如果我在GUI應用程序中使用QProcess啟動進程(例如) p1 ,然后關閉gui應用程序,則即使我不使用QProcess::startDetached()啟動進程,進程p1仍保持運行,就好像它是守護程序一樣QProcess::startDetached()

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

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

在closeEvent中。

嘗試添加

delete process1;

在GUI類析構函數中。

您如何初始化QProcess? 當我在mainwindow.cpp執行以下操作(在Windows上)時,關閉主應用程序時,我的子進程關閉了。

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

通過使MainWindow成為QProcess的父級,MainWindow將在其QObject析構函數期間銷毀並關閉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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