在工作管理員中結束任務有效,但在 cmd 中結束任務則無效。為什麼?

在工作管理員中結束任務有效,但在 cmd 中結束任務則無效。為什麼?

每次完成電影檔案轉碼後,我都需要終止軟體。為了自動化此操作,我製作了一個小批次腳本。其中我嘗試像這樣使用taskkill:

taskkill /im taskname.exe /t /f

但我總是收到以下錯誤訊息: 錯誤:無法終止 PID 6708 的進程。原因:沒有正在運行的任務實例。

我還嘗試以管理員身份啟動cmd窗口,並且還嘗試了PowerShell。但是當我之後執行任務清單時,它仍然顯示任務。

有趣的是,當我在任務管理器中右鍵單擊該任務並結束任務時,該任務會立即終止。 「結束任務」在任務管理器中呼叫哪個命令?我可以使用批次檔來實現自動化嗎?

答案1

正如建議的巴洛普第三方命令列應用程式 nircmd.exe 完成了這項工作!

nircmd.exe killprocess processname

答案2

如果你不能透過名稱殺死它,但有進程ID,你可以嘗試透過PID殺死它:

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%

相關內容