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