1. 程式人生 > >利用CMD命令列殺程序方法(已知該程序的PID號,可以直接殺該程序)(QProcess、taskkill)

利用CMD命令列殺程序方法(已知該程序的PID號,可以直接殺該程序)(QProcess、taskkill)

博主的問題時利用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

參考內容: