【发布时间】:2013-08-08 01:16:21
【问题描述】:
我在 Python 子进程方面遇到了一些麻烦,所以我写了一个非常简单的脚本:
import os
import sys
import time
pid = os.fork()
if pid:
#parent
time.sleep(30)
else:
#child
#os._exit(0)
sys.exit()
当父进程休眠时我启动
ps fax | grep py[t]hon
我读了这个输出
2577 ? S 0:00 python /home/pi/python/GPIO/GPIODaemon.py restart
2583 ? Z 0:00 \_ [python] <defunct>
使用sys.exit()oros._exit(0) 总是有一个僵尸进程,我无法理解为什么。
处理我的更复杂的代码时,我认为有一些资源被子进程保持锁定,但是在这个简化的代码中,子进程根本没有文件/套接字/数据库连接!为什么子进程被僵尸化了?
【问题讨论】:
标签: python fork zombie-process