python之进程

Posted Claire_xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之进程相关的知识,希望对你有一定的参考价值。

 

开启子进程的两种方式:

1、使用Process类

from multiprocessing import Process
import time,os

def f(name):
    print(%s is running,parent id is <%s>%(os.getpid(),os.getppid()),time.ctime())
    time.sleep(1)
    print(%s is done % os.getpgid(), time.ctime())

if __name__ == __main__:
    p_list=[]
    for i in range(3):
        p = Process(target=f, args=(子进程%s%i,))
        # p = Process(target=f,kwargs={‘name‘:‘子进程%s‘%i})
        p_list.append(p)
        p.start()  # 仅仅是给操作系统发送了一个信号
    print(主进程,os.getpid())
    for i in p_list:
        p.join()
    print(end)

 

2、写子类继承Process类

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.ctime())
        time.sleep(1)
        print(%s is done % self.name, time.ctime())


if __name__ == __main__:
    p_list=[]
    for i in range(3):
        p = MyProcess(子进程%d%i)
        p.start()
        p_list.append(p)
    for p in p_list:
        p.join()
    print(end)

以上是关于python之进程的主要内容,如果未能解决你的问题,请参考以下文章

Python 多进程使用之监控

Python之如何优雅的重试

Python并发编程之多进程

[Python3] 043 多线程 简介

python之守护进程

java 简单的代码片段,展示如何将javaagent附加到运行JVM进程