python进程发送文件描述符

时间:2018-06-05 13:47:15

标签: python multiprocessing

在我的开发中,我有共享文件,需要编写多个过程但我发现它只写头部分(只有第一行,即test_data)。我可以使用以下脚本创建相同的行为。任何输入我缺少什么?

#! /usr/bin/env python

import multiprocessing

def check_proc(procs):
    """checking cpu utilization befor starting process"""
    for proc in procs:
        proc.start()

    while(len(multiprocessing.active_children())>10):
        continue

    for proc in procs:
        proc.join()

    while (len(multiprocessing.active_children())>5):
        time.sleep(1)

def create_file():
    f_data = open("temp", "w")
    f_data.write("test data\n")
    return f_data

def write_data(f_data, number, lock):
    lock.acquire()
    f_data.write(number)
    lock.release()

def main():
    f_data = create_file()
    procs = []
    lock = multiprocessing.Lock()
    for i in range(0, 20, 1):
        proc = multiprocessing.Process(target=write_data,
                                       args=(f_data, str(i), lock))
        procs.append(proc)
    check_proc(procs)


if __name__ == "__main__":
    main()

预期: 它应该有数字

Python2.7和linux环境

我已经完成了堆栈溢出问题和阻止,并找到了以下链接。但我无法在上面的代码中联系或使用。任何输入。

http://ptspts.blogspot.com/2013/08/how-to-send-unix-file-descriptors.html

0 个答案:

没有答案