我需要一个命令来允许我终止进程树的进程。在命令行中终止进程树的进程(Windows)
例如notepad.exe由explorer创建。如何终止explorer.exe进程树中的notepad.exe?
我需要一个命令来允许我终止进程树的进程。在命令行中终止进程树的进程(Windows)
例如notepad.exe由explorer创建。如何终止explorer.exe进程树中的notepad.exe?
尝试从PsTools set PsKill + PsList实用程序。
pslist -t
会给你一个进程树(在这里你可以找到notepad.exe
这是explorer.exe
的子进程。然后你可以使用pskill
杀死与指定ID的过程。
taskkill /F /IM notepad.exe
这将杀死所有的notepad.exe的 - 如果你想一个方法来指定只杀死这是由foo.exe的创建或因此,我不认为Windows命令行是足够强大的notepad.exe的这个。
您可以使用tasklist来获取您想要定位的进程的进程ID,然后使用taskkill/F/PID来杀死它。
如今,你可以使用PowerShell做到这一点:
$cimProcesses = Get-CimInstance -Query "select ProcessId, ParentProcessId from Win32_Process where Name = 'notepad.exe'"
$processes = $cimProcesses | Where-Object { (Get-Process -Id $_.ParentProcessId).ProcessName -eq "explorer" } | ForEach-Object { Get-Process -Id $_.ProcessId }
$processes.Kill()
还是优雅的方式:
$cimProcesses = Get-CimInstance -Query "select ProcessId, ParentProcessId from Win32_Process where Name = 'notepad.exe'"
$cimProcesses = $cimProcesses | Where-Object { (Get-Process -Id $_.ParentProcessId).ProcessName -eq "explorer" }
$cimProcesses | ForEach-Object { taskkill /pid $_.ProcessId }
你没有读我的问题妥善 – Peter 2011-04-10 21:26:18