利用CMD命令列殺程序方法(已知該程序的PID號,可以直接殺該程序)(QProcess、taskkill)
阿新 • • 發佈:2018-12-09
博主的問題時利用Qt的主執行緒開啟了一條支執行緒,然後用該支執行緒以阻塞的方式開啟了一條程序。這條程序執行的時間很久,博主想要在執行到一半的時候,強行終止該程序。進過一天的資料查詢,博主終於找打了一個簡易可行的殺程序方法,下面詳細的方法介紹如下。
1.1博主利用Qt的QProcess在支執行緒裡面開啟了一條程序,並且獲取了該程序的PID號。程式碼如下:
qDebug()<<tr("第一種方式:開啟一個程序!"); /*QProcess第一種開啟方法:啟動時,在程式後面附帶引數*/ process = new QProcess(this); process->setObjectName("processObject"); qDebug()<<process->objectName(); qDebug()<<"執行緒裡面"<<QThread::currentThreadId(); process->start("cmd"); process->waitForStarted(); qDebug()<<"process->processId()=="<<process->processId(); qDebug()<<"process->pid()=="<<process->pid(); process->waitForFinished(60000); qDebug()<<"支執行緒執行完畢";
1.2博主想要在該程序執行到一半的時候,強行終止這個程序,可以直接在cmd呼叫下面這條命令,可以直接殺死該程序。(注意:13368是要殺程序的PID號)
taskkill /f /pid 13368
參考內容: