用另一个进程杀死Python多进程中的进程

3 投票
1 回答
1720 浏览
提问于 2025-04-17 23:33

我正在尝试用Python写一个脚本。我的想法是启动三个进程,其中两个进程会不断打印消息,而第三个进程则是在几秒钟后结束它们。问题是我不知道怎么告诉第三个进程应该结束哪两个进程。

from multiprocessing import *
import time

def OkreciLevi():
   while 1:
       print "okrecem levi"
       time.sleep(3)

def OkreciDesni():
   while 1:
       print "okrecem desni"
       time.sleep(3)

def Koci(levi,desni):
   for vrednost in range(2):
       print str(vrednost)
       time.sleep(3)
   levi.terminate()
   desni.terminate()
   print "kocim"

if __name__== '__main__':
   levi=Process(target=OkreciLevi)
   desni=Process(target=OkreciDesni)
   koci=Process(target=Koci, args=(levi,desni))
   koci.start()
   levi.start()
   desni.start()
   levi.join()
   desni.join()
   koci.join()

1 个回答

1

假设你在使用类似*nix的操作系统,我想你需要做以下几件事:

  1. 获取多进程工作者的PID
  2. 给他们发送 SIGTERM 信号。比如可以使用 os.kill 来实现。

另外,这些信息也可能对你有帮助。

撰写回答