[英]QThread::terminate vs kill
我在QThread中运行了一个BASH脚本(QProcess阻塞)(在C ++中)。 这个BASH脚本包含大量文件,可以运行半小时。
如果用户想要关闭我的程序,我需要杀死我的BASH脚本。 但是怎么样? QThread :: Quit将等待BASH程序在处理信号之前终止,QThread :: Terminate文档说它可能会立即杀死一个线程。
我想要相当于'kill -9 myscript'。 有没有一个合适的Qt方式来做到这一点?
waitForXxx
方法。 QProcess::kill
来QProcess::kill
进程。 QProcess
的信号在过程改变状态时得到通知,例如完成。 我想要相当于'kill -9 myscript'。 有没有一个合适的Qt方式来做到这一点?
来自Qt的文档http://doc.qt.io/qt-5/qprocess.html#kill :
void QProcess :: kill()
杀死当前进程,使其立即退出。
在Windows上,kill()使用TerminateProcess,在Unix和macOS上, SIGKILL信号被发送到进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.