[CPyUG] windows 下的 mutliprocessing 有问题?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG] windows 下的 mutliprocessing 有问题?

windwiny
--------------------------------------
import os
import multiprocessing

def bk(msg):
    print ('pid: %8d , msg: "%s"' % (os.getpid(), msg))
def main(msg):
    bk(msg+' main')
    p=multiprocessing.Process(target=bk,args=(msg+' Proecss',))
    p.start()
    p.join()
if __name__ =='__main__':
    main('__main__')
else:
    main('not __main__')

--------------------------------------
这个代码在 windows 7 下 python 2.6, 2.7 下运行程序不能结束,输出结果如下
pid:      768 , msg: "__main__ main"
pid:     9144 , msg: "not __main__ main"
pid:     8572 , msg: "not __main__ main"
pid:    13580 , msg: "not __main__ main"
pid:    11860 , msg: "not __main__ main"
pid:     8776 , msg: "not __main__ main"
。。。一直重复  "not __main__ main"

在 fedora 16 python 2.7 下运行就正常,  "not __main__ main"和"__main__ main" 各出现一次程序就正常结束了。

是不是这个模块有问题?

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: windows 下的 mutliprocessing 有问题?

windwiny
刚才发错了,在 fedora 16 , python 2.7 结果为
pid: 19326, msg: "__main__ main"
pid: 19327, msg: "__main__ Proecss"


输出结果与预期输出相同。

在 2011年12月19日 下午4:47,windwiny <[hidden email]>写道:
--------------------------------------
import os
import multiprocessing

def bk(msg):
    print ('pid: %8d , msg: "%s"' % (os.getpid(), msg))
def main(msg):
    bk(msg+' main')
    p=multiprocessing.Process(target=bk,args=(msg+' Proecss',))
    p.start()
    p.join()
if __name__ =='__main__':
    main('__main__')
else:
    main('not __main__')

--------------------------------------
这个代码在 windows 7 下 python 2.6, 2.7 下运行程序不能结束,输出结果如下
pid:      768 , msg: "__main__ main"
pid:     9144 , msg: "not __main__ main"
pid:     8572 , msg: "not __main__ main"
pid:    13580 , msg: "not __main__ main"
pid:    11860 , msg: "not __main__ main"
pid:     8776 , msg: "not __main__ main"
。。。一直重复  "not __main__ main"

在 fedora 16 python 2.7 下运行就正常,  "not __main__ main"和"__main__ main" 各出现一次程序就正常结束了。

是不是这个模块有问题?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: windows 下的 mutliprocessing 有问题?

chenxing
Windows没有fork,应该是python在“子进程”中重新import了这个module。

官方文档里详细的说明。。


CHEN, Xing / 陈醒


2011/12/19 windwiny <[hidden email]>
刚才发错了,在 fedora 16 , python 2.7 结果为
pid: 19326, msg: "__main__ main"
pid: 19327, msg: "__main__ Proecss"


输出结果与预期输出相同。

在 2011年12月19日 下午4:47,windwiny <[hidden email]>写道:

--------------------------------------
import os
import multiprocessing

def bk(msg):
    print ('pid: %8d , msg: "%s"' % (os.getpid(), msg))
def main(msg):
    bk(msg+' main')
    p=multiprocessing.Process(target=bk,args=(msg+' Proecss',))
    p.start()
    p.join()
if __name__ =='__main__':
    main('__main__')
else:
    main('not __main__')

--------------------------------------
这个代码在 windows 7 下 python 2.6, 2.7 下运行程序不能结束,输出结果如下
pid:      768 , msg: "__main__ main"
pid:     9144 , msg: "not __main__ main"
pid:     8572 , msg: "not __main__ main"
pid:    13580 , msg: "not __main__ main"
pid:    11860 , msg: "not __main__ main"
pid:     8776 , msg: "not __main__ main"
。。。一直重复  "not __main__ main"

在 fedora 16 python 2.7 下运行就正常,  "not __main__ main"和"__main__ main" 各出现一次程序就正常结束了。

是不是这个模块有问题?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: windows 下的 mutliprocessing 有问题?

Shell Xu

是这个行为。

from miui

在 2011-12-21 上午11:57,"CHEN Xing" <[hidden email]>写道:
Windows没有fork,应该是python在“子进程”中重新import了这个module。

官方文档里详细的说明。。


CHEN, Xing / 陈醒


2011/12/19 windwiny <[hidden email]>
刚才发错了,在 fedora 16 , python 2.7 结果为
pid: 19326, msg: "__main__ main"
pid: 19327, msg: "__main__ Proecss"


输出结果与预期输出相同。

在 2011年12月19日 下午4:47,windwiny <[hidden email]>写道:

--------------------------------------
import os
import multiprocessing

def bk(msg):
    print ('pid: %8d , msg: "%s"' % (os.getpid(), msg))
def main(msg):
    bk(msg+' main')
    p=multiprocessing.Process(target=bk,args=(msg+' Proecss',))
    p.start()
    p.join()
if __name__ =='__main__':
    main('__main__')
else:
    main('not __main__')

--------------------------------------
这个代码在 windows 7 下 python 2.6, 2.7 下运行程序不能结束,输出结果如下
pid:      768 , msg: "__main__ main"
pid:     9144 , msg: "not __main__ main"
pid:     8572 , msg: "not __main__ main"
pid:    13580 , msg: "not __main__ main"
pid:    11860 , msg: "not __main__ main"
pid:     8776 , msg: "not __main__ main"
。。。一直重复  "not __main__ main"

在 fedora 16 python 2.7 下运行就正常,  "not __main__ main"和"__main__ main" 各出现一次程序就正常结束了。

是不是这个模块有问题?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: windows 下的 mutliprocessing 有问题?

windwiny
sorry, 我错了~~没仔细看文档

在 2011年12月21日 下午7:31,Shell Xu <[hidden email]>写道:

是这个行为。

from miui

在 2011-12-21 上午11:57,"CHEN Xing" <[hidden email]>写道:

Windows没有fork,应该是python在“子进程”中重新import了这个module。

官方文档里详细的说明。。


CHEN, Xing / 陈醒


2011/12/19 windwiny <[hidden email]>
刚才发错了,在 fedora 16 , python 2.7 结果为
pid: 19326, msg: "__main__ main"
pid: 19327, msg: "__main__ Proecss"


输出结果与预期输出相同。

在 2011年12月19日 下午4:47,windwiny <[hidden email]>写道:

--------------------------------------
import os
import multiprocessing

def bk(msg):
    print ('pid: %8d , msg: "%s"' % (os.getpid(), msg))
def main(msg):
    bk(msg+' main')
    p=multiprocessing.Process(target=bk,args=(msg+' Proecss',))
    p.start()
    p.join()
if __name__ =='__main__':
    main('__main__')
else:
    main('not __main__')

--------------------------------------
这个代码在 windows 7 下 python 2.6, 2.7 下运行程序不能结束,输出结果如下
pid:      768 , msg: "__main__ main"
pid:     9144 , msg: "not __main__ main"
pid:     8572 , msg: "not __main__ main"
pid:    13580 , msg: "not __main__ main"
pid:    11860 , msg: "not __main__ main"
pid:     8776 , msg: "not __main__ main"
。。。一直重复  "not __main__ main"

在 fedora 16 python 2.7 下运行就正常,  "not __main__ main"和"__main__ main" 各出现一次程序就正常结束了。

是不是这个模块有问题?


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html