python百例

104-僵尸进程

2018-08-09  本文已影响3人  凯茜的老爸

多进程编程要注意僵尸进程。子进程没有可执行代码后将变成僵尸进程,如果父进程一直运行,又没有处理僵尸进程的代码,僵尸进程也将一直存在,消耗资源。僵尸进程无法通过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 试图杀死僵尸进程、父进进程,查看结果
上一篇下一篇

猜你喜欢

热点阅读