請嘗試下面的代碼:python fork.py
和:python fork.py 1
以查看它的功能。Python fork-exec問題,子進程輸出與父進程走向相同的地方
#!/usr/bin/env python2
import os
import sys
child_exit_status = 0
if len(sys.argv) > 1:
child_exit_status = int(sys.argv[1])
pid = os.fork()
if pid == 0:
print "This is the child"
if child_exit_status == 0:
os.execl('/usr/bin/whoami')
else:
os._exit(child_exit_status)
else:
print "This is the parent"
(child_pid, child_status) = os.wait()
print "Our child %s exited with status %s" % (child_pid, child_status)
問題:子進程怎麼能做'打印',它仍然會被輸出到父進程的相同位置?
(AM在Ubuntu 10.04使用Python 2.6)
因爲這是規則?認真。原因是因爲這是Linux的工作方式。你真正的問題是什麼?如何改變這一點? – 2010-07-28 11:05:30