2016-12-16 3 views
1

Как закрыть программу из дочернего процесса? Для exanple:Закрытие запущенной программы из процесса

import easygui 
import multiprocessing 

def func(): 
    reply=easygui.buttonbox("start?",image="F:\project\phonber.png",choices=['yes','no']) 
    if reply=="yes": 
     exit_option() 


if __name__=='__main__': 
    p=multiprocessing.Process(target=func,args=()) 
    t=p.start() 
    while True: 
     None 

Есть ли способ, чтобы выполнить exit_option()?

ответ

1

Вы забыли на самом деле вызвать функцию:

import easygui 
import multiprocessing 

def func(): 
    reply=easygui.buttonbox("start?",image="F:\project\phonber.png",choices=['yes','no']) 
    if reply=="yes": 
     exit_option() 

func() 


if __name__=='__main__': 
    p=multiprocessing.Process(target=func,args=()) 
    t=p.start() 
    while True: 
     None 

Затем, на самом деле убить процесс, протекающий там, конечно, много вариантов. Наиболее очевидными являются psutil его метод kill или terminate, или os его метод уничтожения. Как показано на рисунке here.

Смежные вопросы