如何在python

时间:2015-06-23 05:03:42

标签: python python-3.x python-multiprocessing

每当启动我的程序时,我想写一个进程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

1 个答案:

答案 0 :(得分:1)

我认为使用多进程无关紧要。它就是写作!

打开(名称[,模式[,缓冲]])

https://docs.python.org/2/library/functions.html

中的

  

可选的buffering参数指定文件所需的缓冲区   size: 0表示无缓冲,1表示行缓冲,任何其他正数   value表示使用(大约)该大小的缓冲区(以字节为单位)。

更改您的代码

file = open('udp.pid', 'w')

file = open('udp.pid', 'wb', 0)