如何使其成为非阻塞调用?osd_cat
仅接受输入作为PIPE
哪个需要p.communicate()
调用使进程阻塞。还有其他方法可以设置吗stdin
in Popen
?
p = subprocess.Popen(('osd_cat',
'-d',
'{}'.format(interval)),
stdin=subprocess.PIPE)
p.communicate(message)
The p.communicate https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate方法是向进程发送数据方面的一次性处理。
相反,直接写信给p.stdin https://docs.python.org/3/library/subprocess.html#subprocess.Popen.stdin。如果你想获得输出,你可以读取行p.stdout https://docs.python.org/3/library/subprocess.html#subprocess.Popen.stdout。确保你通过stdout=subprocess.PIPE
在尝试读取之前传递给构造函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)