下面这段代码在 Unix 平台可以输出
(<function hook at 0x7fb4700730e0>,)
func
但是在 Windows 上就只打印 func 了,搜了一圈下来没有看到解决方法,故来求助。
import multiprocessing.util
def hook(*args):
print (args)
def func():
print ('func')
multiprocessing.util.register_after_fork(hook, hook)
p = multiprocessing.Process(target=func)
p.start()
1
iConnect 2020-10-15 11:46:01 +08:00 via Android
Windows 没有这个机制,所以和 Linux 表现出差异。
|
2
xzpjerry731 OP 我试了下,这样就可以了
··· import multiprocessing.util def hook(*args): print (args) def func(): print ('func') multiprocessing.util.register_after_fork(hook, hook) if __name__ == '__main__': p = multiprocessing.Process(target=func) p.start() ··· |