QThread::terminate vs kill

QThread::terminate vs kill

本文关键字:kill vs terminate QThread      更新时间:2023-10-16

我在qthread(在C 中(中有一个bash脚本运行(qprocess blocking(。这个bash脚本tar有很多文件,可以运行1/2小时。

如果用户想关闭我的程序,我需要杀死我的bash脚本。但是如何?Qthread ::退出将等待BASH程序在处理信号之前终止,Qthread ::终止文档可能会立即杀死线程。

我想要等效的" kill -9 myscript"。是否有适当的QT方法?

  1. 请勿使用其他线程。从来没有必要。
  2. 切勿使用任何waitForXxx方法。
  3. 使用QProcess::kill杀死该过程。
  4. 使用QProcess的信号在过程更改状态时被通知,例如完成。

我想要等效的" kill -9 myscript"。有适当的QT方式吗 这样做?

来自Qt的Doc http://doc.qt.io/qt-5/qprocess.html#kill:

void qprocess :: kill((

杀死当前的过程,使其立即退出。

在Windows上,Kill((使用terminateProcess,以及在Unix和MacOS上, Sigkill 信号已发送到该过程。