‘terminate()’
is used to terminate the process.
from multiprocessing import Process import multiprocessing import time def print_data(): name = multiprocessing.current_process().name id = multiprocessing.current_process().pid print(name, id) time.sleep(5) print("Processing finished") if __name__=="__main__": proc1 = Process(name='process1', target=print_data) proc1.start() print("Is proc1 alive ",proc1.is_alive()) time.sleep(1) proc1.terminate() proc1.join() print("Is proc1 alive ",proc1.is_alive()) print("Finished")
Output
Is proc1 alive True process1 31842 Is proc1 alive False Finished
Make sure,
you called join() after calling terminate method to give time to update the
status flags of this process.
Note:
a.
The
descendant processes of the process will not be terminated – they will simply
become orphaned.
b.
start(),
join(), is_alive(), terminate() and exitcode methods should only be called by
the process that created the process object.
No comments:
Post a Comment