2014-12-23 6 views
-3

Я хочу знать, как я могу узнать, работает ли какой-либо конкретный процесс с определенным именем?Python check proccess все еще runnig через его имя

import multiprocessing 
from time import sleep 

def proc(): 
    for i in range(10000): 
     sleep(.05) 



if __name__ == '__main__': 
    multiprocessing.process.Process(target=proc, name='name1').start() 
    multiprocessing.process.Process(target=proc, name='name2').start() 
    multiprocessing.process.Process(target=proc, name='name3').start() 
    multiprocessing.process.Process(target=proc, name='name4').start() 

    #how i know in here process with name 'name1' is finiehsd or not ? 
+0

https://docs.python.org/2/library/multiprocessing.html#multiprocessing.current_process –

ответ

1
import multiprocessing 
from time import sleep 

def proc(): 
    for i in range(10000): 
     sleep(.05) 



if __name__ == '__main__': 
    list = [] 
    for i in xrange(4): 
     p = multiprocessing.process.Process(target=proc, name='name' + str(i)) 
     p.start() 
     list.append(p) 

    # Mainthread check which is still alive and which is not. 
    while 1: 
     for p in list: 
      if not p.is_alive(): 
       print p.name + " is Done!" 
       p.join() 
       list.remove(p) 

Это одно решение.

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