进程详解

子父进程图

孤儿进程实验

[root@yuchao-linux01 ~]# cat guer.py
#coding:utf-8
import os
import sys
import time

pid = os.getpid()
ppid = os.getppid()
print 'im father: ', 'pid: ', pid, 'ppid: ', ppid
son_pid = os.fork()
print('now song_pid is: ',son_pid)
#执行pid=os.fork()则会生成一个子进程
#返回值pid有两种值:
#    如果返回的pid值为0,表示在子进程当中
#    如果返回的pid值>0,表示在父进程当中
if son_pid > 0:
    print 'father going die...'
    # 让老父亲,主动退出,挂掉
    sys.exit(0)

# 保证主线程退出完毕
# 程序延迟了1秒,还在运行中,儿子进程还未挂,成了孤儿
time.sleep(20)

print 'im child: ', os.getpid(),'now my father is: ', os.getppid()

僵尸进程实验

[root@yuchao-linux01 ~]# cat jiangshi.py
#coding:utf-8
from multiprocessing import Process
import time,os

def run():
    print('son_pid: ',os.getpid())

if __name__ == '__main__':
    p=Process(target=run)
    p.start()

    print('father_pid: ',os.getpid())
    time.sleep(1000)

如何处理僵尸进程


posted @ 2022-03-23 22:31  张开嘴  阅读(35)  评论(0编辑  收藏  举报