1.背景
-
一个主进程 其余均为子进程
-
如果基于多线程,其关闭方法比较复杂,这里采用多进程
2.demo
其余进程均为循环执行状态,故直接终止
from multiprocessing import Process
# ---------------- 主函数 ---------------
if __name__ == '__main__':
t1 = Process(target=vtd_start)
t2 = Process(target=scp)
t3 = Process(target=rdb)
t4 = Process(target=obs)
t5 = Process(target=recv)
t6 = Process(target=hmi)
t2.start()
t1.start()
t3.start()
t4.start()
t5.start()
t6.start()
t2.join()
t1.terminate()
print('=============t1 结束')
t3.terminate()
print('=============t3 结束')
t4.terminate()
print('=============t4 结束')
t5.terminate()
print('=============t5 结束')
t6.terminate()
print('=============t6 结束')
print("t1:", t1.is_alive())
print("t2:", t2.is_alive())
print("t3:", t3.is_alive())
print("t4:", t4.is_alive())
print("t5:", t5.is_alive())
print("t6:", t6.is_alive())
sys.exit(0)