标签: python unix process signals
我想在python脚本中执行等效的killall -s USR1 termite。
killall -s USR1 termite
当然我可以os.system('killall -s USR1 termite')做得很好,但对我来说这看起来并不优雅。
os.system('killall -s USR1 termite')
我看到os.kill(),但是名称取代了名称,它将 pid 作为参数,我没有(也有多个进程)可能存在相同的名称。)
os.kill()
有没有优雅和pythonic的方式来做到这一点?
答案 0 :(得分:1)
你总是有子进程模块而不是OS,接受参数,但是如果你没有找到os.system或call()优雅,我相信你必须实现自己的类来创建你的抽象层。
呼叫示例
from subprocess import call call("killall", "-s", "USR1", "terminate")
答案 1 :(得分:0)
您可以使用psutil包查找符合条件的所有流程(例如名称)。它有一个方法send_signal()(参见docs)。
send_signal()