终止从已结束Python的进程启动的进程

2024-05-20 17:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中杀死一个进程,该进程正从另一个进程启动,但我找不到放置“.terminate()”的正确位置。你知道吗

为了更好地解释我自己,我将发布一些示例代码:

from multiprocessing import Process
import time

def function():
    print "Here is where I am creating the function I need to kill"
    ProcessToKill = Process(target = killMe)
    ProcessToKill.start()

def killMe():
    while True:
        print "kill me"
        time.sleep(0.5)

if __name__ == '__main__':
    Process1 = Process(target = function)
    Process1.start()

我的问题是,我能在哪里放置进程调用终止(),理想情况下不必更改代码的总体结构?你知道吗


Tags: 代码importtargettime进程deffunctionprocess
1条回答
网友
1楼 · 发布于 2024-05-20 17:32:45

您可以按住ProcessToKill对象,以便以后可以杀死它:

from multiprocessing import Process
import time

def function():
    print "Here is where I am creating the function I need to kill"
    ProcessToKill = Process(target = killMe)
    ProcessToKill.start()
    return ProcessToKill

def killMe():
    while True:
        print "kill me"
        time.sleep(0.5)

if __name__ == '__main__':
    Process1 = function()
    time.sleep(5)
    Process1.terminate()

在这里,我已经移除了另一个Process对象中的function包装,因为在这个示例中它看起来是多余的,但是您应该能够对运行另一个ProcessProcess执行相同的操作。你知道吗

相关问题 更多 >