我正在运行同时在Windows机器上运行的两个不同的python脚本,并希望从命令提示符中删除一个而不是另一个。使用名为" python.exe"的taskkill;不允许我选择只杀死其中一个脚本。
在windows中有没有办法杀死其中一个任务,由它来源的脚本决定?
例如:如果我运行python_process1.py和python_process2.py并想杀死与python_process2.py关联的.exe并单独留下python_process1.py。
更新:下面的解决方案不会终止进程,问题仍然在于通过python脚本名称识别进程的PID。如果这是不可能的,有没有办法选择性地杀死我不知道的窗口上的python脚本?
谢谢。
答案 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
以匹配您实际调用每个脚本的方式,它应该适合您