python web04-02-获取进程的pid
import multiprocessing
import os
import time
def test():
while True:
print("----test 函数 子进程 pid=%d ,父进程的pid=%d---" % (os.getpid(), os.getppid()))
time.sleep(1)
def main():
print("----main 函数的 主进程 pid=%d---父进程pid=%d----" % (os.getpid(), os.getppid()))
p = multiprocessing.Process(target=test)
p.start()
print("执行完成该语句后,main() 直接结束,其子进程会继续运行")
if __name__ == "__main__":
main()
什么是pid:PID中文进程控制符(Process Identifier),这个是由系统分配的一个唯一的进程ID数字。所以,对一个进程来说,一个进程就有一个唯一的pid。
什么是父进程ppid :对于1个进程来说,必须有1个子进程和1个父进程。父进程创建子进程,父进程相当于提供了一个创建的环境,但是实际运行的是子进程,父进程子负责把子进程给创建出来,具体做什么东西他不管。
所以,在main()函数里面,真正运行的是主进程,他的父进程没有什么实际工作内容。
对于在main()函数创建的进程里面也是如果,mian()函数创建了进程P(也就是运行的test函数),所以进程P的父进程是main()的主(子)进程,并且main()就不执行任何内容。而实际执行P进程是他本身的子进程。(这里有一点绕,稍微看慢一点,理解一下。)