1、Linux下的fork()
用法:import os
help(os.fork):
在Linux模块中内置的函数fork:
fork():派生一个子进程。
子进程返回0
父进程返回子进程的PID
例:
说明:
程序执行到os.fork()时,操作系统会创建一个新的进程(子进程),然后复制父进程的所有信息到子进程中
然后父进程和子进程都会从fork()函数中得到一个返回值,在子进程中这个值一定是0,而父进程中是子进程的 id号
2、os.getpid(),os.getppid()
os.getpid(): 返回当前进程的PID
os.getppid(): 返回当前进程的父进程的PID
3、多次fork问题
结果:
用法:import os
help(os.fork):
在Linux模块中内置的函数fork:
fork():派生一个子进程。
子进程返回0
父进程返回子进程的PID
例:
import os
# 注意,fork函数,只在Unix/Linux/Mac上运行,windows不可以
pid = os.fork()
if pid == 0:
print('哈哈1')
else:
print('哈哈2')
结果:
哈哈2
哈哈1
说明:
程序执行到os.fork()时,操作系统会创建一个新的进程(子进程),然后复制父进程的所有信息到子进程中
然后父进程和子进程都会从fork()函数中得到一个返回值,在子进程中这个值一定是0,而父进程中是子进程的 id号
2、os.getpid(),os.getppid()
os.getpid(): 返回当前进程的PID
os.getppid(): 返回当前进程的父进程的PID
3、多次fork问题
例:
#coding=utf-8
import os
import time
# 注意,fork函数,只在Unix/Linux/Mac上运行,windows不可以
pid = os.fork()
if pid == 0:
print('哈哈1')
else:
print('哈哈2')
pid = os.fork()
if pid == 0:
print('哈哈3')
else:
print('哈哈4')
time.sleep(1)
结果:
说明: