簡體   English   中英

TASKKILL之后進程正在運行

[英]Process running after TASKKILL

該問題與以下所示的腳本有關:

@echo on
:MAIN
start "myname" cmd /c "build\jre\bin\java -jar MainThread.jar"
timeout /t 2 >null
TASKLIST /v /fi "IMAGENAME eq cmd.exe">myfile.txt
TASKKILL /f /fi "IMAGENAME eq cmd.exe" /fi "WINDOWTITLE eq myname"
TASKLIST /v /fi "IMAGENAME eq cmd.exe">myfile2.txt
:exit

當我第一次執行任務列表時,myname被列在TASKLIST中。執行taskkill后,myname進程沒有顯示在TASKKILL之后執行的TASKLIST中,但是它正在運行。在刪除其條目但未終止該進程的過程中。我該如何終止該進程?

已啟動的java進程占用了父級cmd窗口名稱,但是不早於后者的父級cmd進程被終止。 where沒有安裝java where使用替代方法提供的證明(如where.exe運行了相當長的一段時間以截取屏幕截圖,甚至檢查任務管理器)。

測試腳本

@echo on
:MAIN
start "myname" cmd /C where /R c:\ "whistle.*" 
@timeout /t 1 >null
TASKLIST /V /NH /fi "WINDOWTITLE eq myname" /FO "CSV"
TASKLIST /v /NH /fi "IMAGENAME eq Where.exe" /FO "CSV"
TASKKILL /f /fi "IMAGENAME eq cmd.exe" /fi "WINDOWTITLE eq myname"
TASKLIST /V /NH /fi "WINDOWTITLE eq myname" /FO "CSV"
:exit

輸出

==> D:\bat\SO\36185868.bat

==> start "myname" cmd /C where /R c:\ "whistle.*"

==> TASKLIST /V /NH /fi "WINDOWTITLE eq myname" /FO "CSV"
"cmd.exe","3340","Console","1","2 240 K","Running","pcn\usern","0:00:00","myname"

==> TASKLIST /v /NH /fi "IMAGENAME eq Where.exe" /FO "CSV"
"where.exe","5188","Console","1","3 184 K","Unknown","pcn\usern","0:00:01","N/A"

==> TASKKILL /f /fi "IMAGENAME eq cmd.exe" /fi "WINDOWTITLE eq myname"
SUCCESS: The process with PID 3340 has been terminated.

==> TASKLIST /V /NH /fi "WINDOWTITLE eq myname" /FO "CSV"
"where.exe","5188","Console","1","3 184 K","Running","pcn\usern","0:00:01","myname"

==>

屏幕截圖

任務

謝謝你們的幫助。 我使用TASKKILL / f / t / fi“ IMAGENAME eq cmd.exe” / fi“ WINDOWTITLE eq myname”命令。 / t用於關閉所有子進程,並且關閉了其子進程1的java.exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM