簡體   English   中英

與父母一起殺死qprocess

[英]kill qprocess with parent

這是執行命令並返回輸出的代碼。 問題是,如果我終止了testProcess,“ ping”將繼續進行。 我也嘗試過

QObject *parent;
parent=new QObject;
myprocess *p;
p=new myprocess(parent);

對不起我的英語不好

testProcess.h:

class myprocess : public QProcess{
    Q_OBJECT
public:
    myprocess( QObject *parent = 0 );
protected slots:
void readyOut();
void readyErr();
};

testProcess.cpp主要:

myprocess *p;
p=new myprocess;

QObject::connect(p,SIGNAL(readyReadStandardOutput()),p,SLOT(readyOut()));
QObject::connect(p,SIGNAL(readyReadStandardError()),p,SLOT(readyErr()));

p->start("ping -t www.google.com");

p->waitForFinished(60000);

delete p;

如果要在應用程序關閉時關閉進程,則可以連接到核心應用程序aboutToQuit()信號。 看起來像這樣

connect( QCoreApplication::instance(), SIGNAL(aboutToQuit()), p, SLOT(kill()));

進程中還有一個terminate()插槽可以使用,但我認為kill()可能更適合您的情況。

暫無
暫無

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

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