python-omxplayer-wrapper留下了打开的文件流。如何关闭它们而不杀死父进程?

时间:2019-05-03 18:02:01

标签: python linux omxplayer

我正在使用python-omxplayer-wrapper触发项目的音效。尽管为播放器对象调用了相关的stop()或quit()方法,但每次触发该过程时,都会留下一个打开的文件流。最终,由于“打开的文件太多”,应用程序失败。我正在尝试找到一种方法(使用psutil,子进程等)来标识这些流并关闭它们。

lsof的样本输出|触发7次音效后,grep'12611'(12611是python进程ID):

python    12611                   pi    0u      CHR      136,2      0t0          5 /dev/pts/2
python    12611                   pi    1u      CHR      136,2      0t0          5 /dev/pts/2
python    12611                   pi    2u      CHR      136,2      0t0          5 /dev/pts/2
python    12611                   pi    3u     unix 0x9be72d00      0t0     219115 type=STREAM
python    12611                   pi    4u     unix 0x9be74c00      0t0     219245 type=STREAM
python    12611                   pi    5u     unix 0x9be71b00      0t0     218986 type=STREAM
python    12611                   pi    6u     unix 0x9be71800      0t0     219102 type=STREAM
python    12611                   pi    7u     unix 0x9be70000      0t0     219122 type=STREAM
python    12611                   pi    8u     unix 0x9be76a00      0t0     219986 type=STREAM
python    12611                   pi    9u     unix 0x9be76700      0t0     220066 type=STREAM

我假设问题是由所有类型为“ STREAM”的孤立条目引起的。 psutils.Process(12611).open_files()产生一个空列表。如何杀死这些流而不杀死父python进程?

(有关python-omxplayer-wrapper的相关但未解决的问题:https://github.com/willprice/python-omxplayer-wrapper/issues/176

0 个答案:

没有答案