这是执行命令并返回输出的代码。 问题是,如果我杀死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 main:
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;
答案 0 :(得分:0)
如果您希望在应用程序关闭时关闭进程,则可以连接到核心应用程序aboutToQuit()
信号。它看起来像这样
connect( QCoreApplication::instance(), SIGNAL(aboutToQuit()), p, SLOT(kill()));
流程中还有terminate()
个广告位可供使用,但我认为kill()
可能更适合您的情况。