[英]how to write to file in multiprocess in python
我想在每次启动程序时都将进程ID写入文件,所以我编写了此代码,但是只要停止进程,此代码就将pid写入文件。
from multiprocessing import Process
from os import getpid
def f():
file = open('udp.pid', 'w')
file.write(str(getpid()))
file.close()
while True:
# a socket infinity loop
pass
if __name__ == '__main__':
p = Process(target=f,)
p.start()
如何在多进程中将pid写入文件?
更新:
我在Windows 8.1上使用python 3.4
我认为使用多进程与否无关紧要。 它只是写!
打开(名称[,模式[,缓冲]])
在https://docs.python.org/2/library/functions.html中
可选的buffering参数指定文件所需的缓冲区大小: 0表示未缓冲 ,1表示行缓冲,任何其他正值表示使用(大约)该大小(以字节为单位)的缓冲区。
更改您的代码
file = open('udp.pid', 'w')
至
file = open('udp.pid', 'wb', 0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.