如果不指出10个不同的库以不同的方式执行此操作,有人能告诉我为什么在命令行上重定向STDOUT时python会重新启动我的脚本吗?(在CentOS 7上运行)
#!/usr/bin/python
import os
print("Top of the script")
pid = os.fork()
print("Pid: " + str(os.getpid()))
常规输出为:
$ ./forktst2.py
Top of the script
Pid: 1919
Pid: 1920
但当我把它输送到任何东西时,它就会变成:
$ ./forktst2.py | cat
Top of the script
Pid: 2151
Top of the script
Pid: 2153
这让人倍感困惑,因为如果它正在重新运行第一个print()
,那么为什么它不也在重新运行os.fork()
?你知道吗
谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐