我在《编程Python》一书中看到了这些代码:
import os
parm = 0
while True:
parm += 1
pid = os.fork()
if pid == 0: # copy process
os.execlp('python', 'python', 'child.py', str(parm)) # overlay program
assert False, 'error starting program' # shouldn't return
else:
print('Child is', pid)
if input() == 'q': break
为什么os.execlp
里有两条Python?第二个可以是任何字符串。第二个论点是什么?在
编辑:看了这个可能重复的问题,我还是不明白。这是儿童.py公司名称:
^{pr2}$所以argv[1]
是str(parm)
,argv[0]
是儿童.py,不是吗?在
第一个
python
是要运行的可执行文件的名称,第二个是argv[0]
的值。在它的名字,所以它可以是任何字符串。在
见http://docs.python.org/3/library/os.html?highlight=os.exec#process-management
文档结构不好,人们可能会因为直接跳到第二段而忽略第二段操作系统执行*以上思考内容不相关。在
相关问题 更多 >
编程相关推荐