我用这段代码为我的程序做一个killswitchkillSwitch = Popen(['killswitch.exe', str(pid)])
它在主线程的pid中馈送,如果主线程变得无响应,我可以使用keybind来杀死它。然而,当正常关闭时,不运行killswitch,它永远不会关闭。所以我需要处理进程,但使用popen创建了两个进程,只报告了一个,执行kill切换。kill()不起作用,因为一个进程仍处于打开状态。我也不想taskkill killSwitch。exe,因为如果其他示例打开,我不想关闭其他示例的killSwitch。有没有办法让它只打开一个进程或关闭两个进程?
1条答案
按热度按时间insrf1ej1#
我能够解决我的问题通过使用
os.system(f'taskkill /f /t /pid {killSwitch.pid}')
这会杀死整个进程树,尽管我只有一个pid,而不会中断其他示例。