Python 按名称向进程发送信号
我想在python脚本中执行与killall-s USR1 termite相当的Python 按名称向进程发送信号,python,unix,process,signals,Python,Unix,Process,Signals,我想在python脚本中执行与killall-s USR1 termite相当的 当然,我可以做os.system('killall-s USR1 termite'),它工作得很好,但这在我看来不是很优雅 我看到的是os.kill(),但它不使用名称,而是将pid作为参数,我没有参数(而且,可能存在多个同名进程) 是否有一种优雅的python方法可以做到这一点?您总是使用子流程模块,而不是OS,使用参数,但是如果您觉得OS.system或call()不优雅,我相信您必须实现自己的类来创建抽象层
当然,我可以做os.system('killall-s USR1 termite')
,它工作得很好,但这在我看来不是很优雅
我看到的是os.kill()
,但它不使用名称,而是将pid作为参数,我没有参数(而且,可能存在多个同名进程)
是否有一种优雅的python方法可以做到这一点?您总是使用子流程模块,而不是OS,使用参数,但是如果您觉得OS.system或call()不优雅,我相信您必须实现自己的类来创建抽象层
呼叫示例
from subprocess import call
call("killall", "-s", "USR1", "terminate")
您可以使用该包查找与您的条件(例如名称)匹配的所有进程。它有一个方法send\u signal()
(请参阅)。这不是更优雅,但至少有点灵活。非常感谢。