#进程创建
#linux 下使用fork 函数创建进程,在windows 上应用 multiprocessing
from multiprocessing import Process
from time import sleep
import os
m = 1
def task1(s):
global m
while True:
sleep(s)
m+=1
print('11111111',m,os.getpid(),os.getppid())
def task2(s):
global m
while True:
sleep(s)
m+=1
print('222222',m,os.getpid(),os.getppid())
# os.getpid(),os.getppid() 子进程 父进程
# args sleep(s)
'''
对象调用方法:
Process = Process(target=函数,name=进程名,ages=给函数传递参数)
Process 对象
Process.start() 启动进程并执行任务
Process run() 只是执行了任务但是没有启动进程
terminate() 终止
'''
number = 1
if __name__ == '__main__':
#子进程
p1 = Process(target=task1,name='任务1',args=(1,))
p1.start()
print(p1.name)
print(os.getpid())
print(os.getppid())
p2 = Process(target=task2,name='任务2',args=(1,))
print(p2.name)
p2.start()
while True:
sleep(0.1)
number += 1
if number == 100:
p1.terminate()
p2.terminate()
break
else:
print(number)