使用Windows命令提示符查找python脚本的Windows PID

时间:2018-04-05 16:50:37

标签: python windows command-prompt taskkill

我正在运行同时在Windows机器上运行的两个不同的python脚本,并希望从命令提示符中删除一个而不是另一个。使用名为" python.exe"的taskkill;不允许我选择只杀死其中一个脚本。

在windows中有没有办法杀死其中一个任务,由它来源的脚本决定?

例如:如果我运行python_process1.py和python_process2.py并想杀死与python_process2.py关联的.exe并单独留下python_process1.py。

更新:下面的解决方案不会终止进程,问题仍然在于通过python脚本名称识别进程的PID。如果这是不可能的,有没有办法选择性地杀死我不知道的窗口上的python脚本?

谢谢。

1 个答案:

答案 0 :(得分:0)

使用Get-WmiObject和PowerShell,您可以检查每个进程的命令行参数,然后将选定的进程ID传递给taskkill。

此示例显示如何终止执行脚本test.py的进程:

PS C:\Users\Administrator> taskkill.exe /F /PID $(Get-WmiObject Win32_Process -Filter "name = 'python.exe'" | Where-Object {$_.CommandLine -like '*.\test.py'} | Select -ExpandProperty ProcessId)

修改*.\test.py以匹配您实际调用每个脚本的方式,它应该适合您