2016-04-13 3 views
0

Учитывая, что имя proccess (PID не указано), как я могу определить, когда завершился процесс (также как узнать, как PID задает имя proccess)? Кроме того, я делаю это для Windows Explorer, так как бы я отслеживал имя proccess, поскольку оно изменяется, когда пользователь перемещает директории thorugh.PYTHON Как определить, когда был завершен процесс

Я использую Python 2.7 и окна, если это помогает.

Спасибо

ответ

1

Как писал здесь Padraic Cunningham: Python: How to get PID by process name? Для того, чтобы получить PID процесса из-имя:

from subprocess import check_output 
def get_pid(name): 
    return int(check_output(["pidof","-s",name])) 

Как писал здесь Mat: https://stackoverflow.com/a/6767792/5088142 Для того, чтобы получить статус процесс с использованием своего pid может использовать psutil https://github.com/giampaolo/psutil

import psutil 
print psutil.Process(pid).status 

Edit: Вы можете объединить эти две части в следующий код:

from subprocess import check_output 
import psutil 
def get_pid(name): 
    return int(check_output(["pidof","-s",name])) 
def get_status(name) 
    pid = get_pid(name) 
    print psutil.Process(pid).status 
+0

Спасибо вам за это, но другой вопрос, как я смог бы постоянно тестировать для него (я извиняюсь им совершенно новое, но я понимаете, что проверка обновления в envrionment важна в программировании) еще раз спасибо :) –

+0

Я добавил новую функцию, которая объединяет две части кода. вы можете вызвать функцию get_status («имя_процесса») и получить статус процесса. (обратите внимание, что вам нужно будет установить psutil) – Yaron

+0

thx, но знаете ли вы, что вам нужно постоянно проверять это на протяжении всего моего кода, или это невозможно? спасибо все равно :) –

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

  • Нет связанных вопросов^_^