os.kill()泄漏"糟糕:终止'进入控制台

时间:2014-06-03 18:27:03

标签: python raspberry-pi

我尝试根据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_image],
                 stdout=shutup,
                 stderr=shutup)

这很好用,但是每次调用os.kill()我都会

Oops: Terminated
在下一个图像出现之前,屏幕上会短暂显示

以前,我在fbi命令中使用-T 2选项。这导致了另一条线:

map: vt02 => fb0

现在我只得到一个" oops" -line ...

有没有人知道如何防止这种情况? 我可以使用一个解决方案,其中tty文本简单地设置为黑色 - 如果可能的话......我寻求解决方案但似乎没有任何效果。

2 个答案:

答案 0 :(得分:0)

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

os.system('pkill fbi')

答案 1 :(得分:0)

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