将四个并行运行的python程序的输出保存到不同的日志文件中

问题描述 投票:4回答:1

我有四个正在运行的程序,它们是使用单个python程序启动的。

import os                                                                       
from multiprocessing import Pool 
import sys   
processes = ('p1.py', 'p2.py', 'p3.py','p4.py')
def run_process(process):                                                             
    os.system('python3 {}'.format(process)) 
pool = Pool(processes=4)                                                        
pool.map(run_process, processes)

目前,我是使用nohup pmain.py>test.log在单个文件中获取所有程序的日志的但是我如何在不同的日志文件中分别获取p1,p2,p3和p4的四个不同的日志。

python linux logging multiprocessing nohup
1个回答
0
投票

一个简单的解决办法,是

import os                                                                       
from multiprocessing import Pool 
import sys   
processes = ('p1.py > p1.log', 'p2.py > p2.log', 'p3.py > p3.log','p4.py > p4.log')
def run_process(process):                                                             
    os.system('python3 {}'.format(process)) 
pool = Pool(processes=4)                                                        
pool.map(run_process, processes)
© www.soinside.com 2019 - 2024. All rights reserved.