Завершить процесс по его имени в Python - PullRequest
0 голосов
/ 14 мая 2018

Предположим, что я запускаю процесс в python со следующим кодом:

from multiprocessing import Process
import time

def f(name):
     print ('hello ', name)

if __name__ == '__main__':
     p = Process(target=f,name = "Process-1", args=('bob',))
     p.start()

Теперь я хочу завершить процесс. Я могу просто сделать:

p.terminate()

Тем не менее, я хотел бы завершить процесс по его имени. Это возможно?

1 Ответ

0 голосов
/ 14 мая 2018

Для этого вам необходимо сохранить карту между объектами процесса и их именами .Использование вспомогательной функции делает ваш код еще проще для чтения (IMO):

def terminate(procname):
    return pmap[procname].terminate()

if __name__ == '__main__':
     pmap = {}
     pname = "process-1"
     p = Process(target=f,name = pname, args=('bob',))
     pmap[pname] = p
     p.start()

Затем для завершения: terminate(pname)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...