Python 2.7 需要id的列表';由python代码在python中创建的所有进程的

Python 2.7 需要id的列表';由python代码在python中创建的所有进程的,python-2.7,multiprocessing,Python 2.7,Multiprocessing,我在python中使用多处理和selenium,当我的代码运行时,它会创建许多不同的子进程(Firefox webdriver和python)。我的目标是在代码启动的最后获取所有活动进程的进程id列表并杀死它们。我该怎么做?有什么帮助吗?对于使用多处理创建的每个进程,您可以通过以下操作获得pid: p.pid 只需将所有进程保存在列表中,然后在需要pid时,只需对列表中的每个元素执行上一条指令即可使用Python API,非常简单: from selenium import webdr

我在python中使用多处理和selenium,当我的代码运行时,它会创建许多不同的子进程(Firefox webdriver和python)。我的目标是在代码启动的最后获取所有活动进程的进程id列表并杀死它们。我该怎么做?有什么帮助吗?

对于使用多处理创建的每个进程,您可以通过以下操作获得pid:

p.pid

只需将所有进程保存在列表中,然后在需要pid时,只需对列表中的每个元素执行上一条指令即可使用Python API,非常简单:

    from selenium import webdriver
    browser = webdriver.Firefox()
    print browser.binary.process.pid

您可以使用kill-9或tskill等终止进程id

如果代码执行正确,则所有子进程将自行退出。除非您正在从程序中触发其他子进程,并且它在后端连续运行,否则无需显式终止它。是的,您是对的。所以我实际上触发了selenium进程,这个进程很多时候并没有自动关闭或者只是挂起。我只是想要一种方法,确保所有子进程在程序退出/出现异常时终止。感谢您的及时响应,但如何为所有进程创建公共变量?我的程序中有全局变量,但我知道,多处理池中的所有进程都会创建它自己的全局变量副本。