开启进程

unix和linux下所有进程都会经历僵尸进程状态,将由父进程回收,父进程不死僵尸进程将不会回收。

父进程先死,子进程就成了孤儿进程,孤儿进程由init进程接管。

方式一,使用默认类:

from multiprocessing import Process
import time
def task(name):
    print("%s is running" % name)
    time.sleep(3)
    print("%s is done" % name)
if __name__=="__main__":
    #Process(target=task,kwargs={"name":"子进程1"})
    p=Process(target=task,args=("子进程1",))#按位置参数传参
    p.start()#给操作系统发送指令,开启子进程
    print("主进程")

方式二,自定义类:

from multiprocessing import Process
import time
class MyProcess(Process):
    def __init__(self,name):
        super(MyProcess,self).__init__()
        self.name=name
    def run(self):
        print("%s is running" % self.name)
        time.sleep(5)
        print("%s is done" % self.name)

if __name__ == "__main__":
    p=MyProcess("子进程")
    p.start()

 查看进程ID:

import os
os.getpid()#查看自己的进程id
os.getppid()#查看父进程id
p=Process()
p.pid()

 

posted @ 2018-05-12 18:21  丫丫625202  阅读(161)  评论(0编辑  收藏  举报