Discuss / Python / __name__=='__main__'

__name__=='__main__'

Topic source

希佩里安

#1 Created at ... [Delete] [Delete and Lock User]

为什么多进程下必须加if name=='main',没有就只会显示pid不会显示args的内容

from multiprocessing import Process
import os

def run_proc(name):
    print("name=%s,PID=%s"%(name,os.getpid()))

print(os.getpid())
p=Process(target=run_proc,args=('aaaa',))
p.start()
p.join()
print('Child process end.')

但加了try..except后就可以正常运行了,请问这是为什么

from multiprocessing import Process
import os,logging

logging.basicConfig(level=logging.INFO,filename='1.log',filemode='w')

def run_proc(name):
    print("name=%s,PID=%s"%(name,os.getpid()))

try:    
    print(os.getpid())
    p=Process(target=run_proc,args=('aaaa',))
    p.start()
    p.join()
    print('Child process end.')
except Exception as e:
    logging.info(logging.exception(e))
8059
name=aaaa,PID=8060
Child process end.

我这里运行是显示的...

ubuntu 14.04


  • 1

Reply