使用python multiprocessing子进程如何终止另一个子进程?

金名

我的主应用程序进程创建了两个子进程。

A = Process(target=a, args=(aaa,))

B = Process(target=b,args=())

为了争论起见,它们被称为A和B。进程A如何终止进程B?

马特·西摩

虽然我将严重建议子进程不能够相互核对。就我个人而言,我将拥有管理子流程的主要流程。

如果您想沿着这条路线走,那么您当前正在使用。一种可以做自己想做的事情的方法是,让主流程将子代的进程ID传递A给子代B(或您想要执行的操作)。使用此流程ID,您可以将其传递给流程,然后可以终止该流程。

选项1:如果只有一个进程可以终止另一个进程,那么最简单的解决方案是B首先启动进程然后,A要传递的进程B的进程ID。使用它可以终止进程。

def a(pid):
    os.kill(pid)

B = Process(target=b, args=())

A = Process(target=a,args=(B.pid))

选项2:为此,您可以使用Queues或Pipes(来自multiprocessing库)。

from multiprocessing import Process, Queue

def f(q):
     # will send the process id of the alternative child process 
     print q.get()

if __name__ == '__main__':
    queue_A = Queue()
    queue_B = Queue()
    A = Process(target=f, args=(queue_A,))
    B = Process(target=f,args=(queue_B,))
    A.start()
    B.start()

    queue_A.put(B.pid)
    queue_B.put(A.pid)
    # do stuff....

选项3(我的首选方法):获取主进程以执行终止操作。

A = Process(target=a, args=())

B = Process(target=b,args=())

A.terminate()
B.terminate()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将python子进程用作另一个用户时的错误环境

来自分类Dev

使用子进程调用/ popen从另一个python脚本执行python脚本

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

如何强制2个Python子进程一个接一个地运行

来自分类Dev

Python杀死一个子进程(启动另一个进程)并再次启动

来自分类Dev

尝试让一个子视图使用ui-router调用另一个子视图

来自分类Dev

如何使用Python处理从一个子文件夹到每个目录中另一个子文件夹的文件?

来自分类Dev

如何在2个子进程之间创建一个匿名管道并知道其pid(而不使用文件/命名管道)?

来自分类Dev

Python-通知另一个线程在子进程上被阻塞

来自分类Dev

从另一个python脚本运行python脚本,但不作为子进程运行

来自分类Dev

如何使用python ctypes访问另一个进程的PEB

来自分类Dev

如果使用子进程,Python会两次打开文件.Popen用于运行另一个脚本

来自分类Dev

如何限制一个进程及其子进程的CPU使用率,而不管是否存在另一个要求资源的进程

来自分类Dev

如何在python中杀死一个子进程

来自分类Dev

Python:等待第一个子进程完成

来自分类Dev

当另一个子进程完成时,如何终止子进程?

来自分类Dev

如何从具有完全I / O子进程的另一个脚本中执行Python脚本?

来自分类Dev

如何限制一个进程及其子进程的CPU使用率,而不管是否存在另一个要求资源的进程

来自分类Dev

Python子进程无法访问.bat文件,因为它已被另一个进程使用

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

如何强制2个Python子进程一个接一个地运行

来自分类Dev

一个python进程为另一个python进程提供信息

来自分类Dev

如何使用htop挂起一个进程及其所有子进程?

来自分类Dev

如何基于事件使用React将一个子react / html组件替换为另一个子组件?

来自分类Dev

在不离开孤儿的情况下从python / bash杀死一个子子进程

来自分类Dev

使用子进程的stdout作为另一个进程的stdin时,有时数据不会传递给第二个子进程

来自分类Dev

Python; 如何正确调用另一个python脚本作为子进程

来自分类Dev

Python:如何从另一个进程读取变量?

来自分类Dev

如何使用子进程使用python将输入发送到另一个程序

Related 相关文章

  1. 1

    将python子进程用作另一个用户时的错误环境

  2. 2

    使用子进程调用/ popen从另一个python脚本执行python脚本

  3. 3

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  4. 4

    如何强制2个Python子进程一个接一个地运行

  5. 5

    Python杀死一个子进程(启动另一个进程)并再次启动

  6. 6

    尝试让一个子视图使用ui-router调用另一个子视图

  7. 7

    如何使用Python处理从一个子文件夹到每个目录中另一个子文件夹的文件?

  8. 8

    如何在2个子进程之间创建一个匿名管道并知道其pid(而不使用文件/命名管道)?

  9. 9

    Python-通知另一个线程在子进程上被阻塞

  10. 10

    从另一个python脚本运行python脚本,但不作为子进程运行

  11. 11

    如何使用python ctypes访问另一个进程的PEB

  12. 12

    如果使用子进程,Python会两次打开文件.Popen用于运行另一个脚本

  13. 13

    如何限制一个进程及其子进程的CPU使用率,而不管是否存在另一个要求资源的进程

  14. 14

    如何在python中杀死一个子进程

  15. 15

    Python:等待第一个子进程完成

  16. 16

    当另一个子进程完成时,如何终止子进程?

  17. 17

    如何从具有完全I / O子进程的另一个脚本中执行Python脚本?

  18. 18

    如何限制一个进程及其子进程的CPU使用率,而不管是否存在另一个要求资源的进程

  19. 19

    Python子进程无法访问.bat文件,因为它已被另一个进程使用

  20. 20

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  21. 21

    如何强制2个Python子进程一个接一个地运行

  22. 22

    一个python进程为另一个python进程提供信息

  23. 23

    如何使用htop挂起一个进程及其所有子进程?

  24. 24

    如何基于事件使用React将一个子react / html组件替换为另一个子组件?

  25. 25

    在不离开孤儿的情况下从python / bash杀死一个子子进程

  26. 26

    使用子进程的stdout作为另一个进程的stdin时,有时数据不会传递给第二个子进程

  27. 27

    Python; 如何正确调用另一个python脚本作为子进程

  28. 28

    Python:如何从另一个进程读取变量?

  29. 29

    如何使用子进程使用python将输入发送到另一个程序

热门标签

归档