Python os.kill()泄漏“;Oops:终止';进入控制台

Python os.kill()泄漏“;Oops:终止';进入控制台,python,raspberry-pi,Python,Raspberry Pi,我正试着根据树莓皮制作相框。此功能由运动传感器触发并加载新图像: proc = subprocess.Popen(["pgrep", "fbi"], stdout=subprocess.PIPE) for pid in proc.stdout: os.kill(int(pid), signal.SIGTERM) subprocess.call(["fbi","-noverbose","-a","-T","1","/home/pi/photoframe/photos/"+current_i

我正试着根据树莓皮制作相框。此功能由运动传感器触发并加载新图像:

proc = subprocess.Popen(["pgrep", "fbi"], stdout=subprocess.PIPE)
for pid in proc.stdout:
    os.kill(int(pid), signal.SIGTERM)
subprocess.call(["fbi","-noverbose","-a","-T","1","/home/pi/photoframe/photos/"+current_image],
                 stdout=shutup,
                 stderr=shutup)
这非常有效,但是每次调用
os.kill()
时,我都会得到它

Oops: Terminated
在下一个图像出现之前,在屏幕上显示一小段时间

以前,我在fbi指挥部使用-T2选项。这导致了另一行:

map: vt02 => fb0
现在我只听到一句“哎呀”

有人知道如何防止这种情况吗?
如果tty文本被简单地设置为黑对黑,我会很好的解决方案-如果这是可能的话。。。我一直在寻找解决办法,但似乎没有任何效果

您可以使用命令(pgrep的变体
pgrep
)搜索和终止进程


我遇到了同样的问题,最后使用了SIGHUP,解决了问题。

是的,该命令也会终止进程,但仍会在我的屏幕上显示
Oops:Terminated
。。。这就是我试图避免的。我正在寻找一种让tty“沉默”的方法。或者将os.system()的输出重定向到日志文件或/dev/null,而不是在屏幕上显示它。请尝试
os.system('pkill fbi>/dev/null 2>/dev/null')
遗憾的是,这没有任何效果。。。还有其他想法吗?如果我省略
os.system('pkill fbi')
行并继续添加fbi实例,则不会出现
Oops:Terminated
消息。
os.system('pkill fbi')