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