【问题标题】:how create process child run method while True in python use multiprocessing?python - 如何在python中使用多处理时创建进程子运行方法?
【发布时间】:2013-11-15 04:39:34
【问题描述】:

我想运行两个子进程

#!/usr/bin/env python
from multiprocessing import Process
import time

def method(namelog):
    filelog  = open(namelog,'w')
    while True:
        time.sleep(0.1)
        filelog.write('test log anything \n')
if __name__ == '__main__':
    p1 = Process(target=method, args=('log1.log',))
    print "start process1"
    p1.start()
    p2 = Process(target=method, args=('log2.log',))
    print "start process2"
    p2.start()

结果:

start process1
start process2

program create 2 file log1.log and log2.log
but not save data

我创建了一个事物进程,但它不起作用 帮帮我!!!

【问题讨论】:

    标签: python-2.7 multiprocessing fork


    【解决方案1】:

    您必须关闭文件才能写入。请注意,我将open() 中的模式从写入更改为附加。

    试试这个:

    from multiprocessing import Process
    import time
    
    def method(namelog):
        while True:
            with open(namelog,'a') as filelog:
                time.sleep(0.1)
                filelog.write('test log anything \n')
    if __name__ == '__main__':
        p1 = Process(target=method, args=('log1.log',))
        print "start process1"
        p1.start()
        p2 = Process(target=method, args=('log2.log',))
        print "start process2"
        p2.start()
    

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 2018-06-05
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      相关资源
      最近更新 更多