104-僵尸进程

多进程编程要注意僵尸进程。子进程没有可执行代码后将变成僵尸进程,如果父进程一直运行,又没有处理僵尸进程的代码,僵尸进程也将一直存在,消耗资源。僵尸进程无法通过kill命令杀掉。

import os
import time

pid = os.fork()

if pid:
    print('In parent. sleeping...')
    time.sleep(60)
    print('parent done.')
else:
    print('in child. sleeping...')
    time.sleep(10)
    print('child done')  # 10秒后,子进程变成了僵尸进程

# watch -n1 ps a  当子进程成为僵尸进程时,显示为Z
# kill 试图杀死僵尸进程、父进进程,查看结果
    原文作者:凯茜的老爸
    原文地址: https://www.jianshu.com/p/4d0c4804f18b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞