pid выполнения скрипта Python с использованием psutil

ОС: Джесси

Питон: 2.7

Я хочу использовать psutil для завершения моего сценария, который я сейчас выполняю. Моя проблема в том, что я хотел бы убить его с помощью идентификатора, но я не знаю, как получить pid моего скрипта.

Я знаю, что могу закончить с именами процессов, но я думаю, что это не очень красивое решение.

Кто-нибудь знает, как это сделать?

Я настроил свой Pi с PiCamera, графическим интерфейсом и некоторыми датчиками. Я использую библиотеку cv2, и проблема в том, что окна не закрываются. Поэтому я гуглил, как их закрыть, но не нашел решения, которое мог бы использовать. Убить процесс - это нормально для меня.

РЕДАКТИРОВАТЬ:

import psutil

def on_terminate(proc):
    print("process {} terminated with exit code {}".format(proc, proc.returncode))

procs = psutil.Process().children()
for p in procs:
    p.terminate()
gone, still_alive = psutil.wait_procs(procs, timeout=3, callback=on_terminate)
for p in still_alive:
    p.kill()

Я нашел этот фрагмент в документации. Как я могу запустить этот запуск с pid?


person Tim    schedule 22.09.2017    source источник
comment
можно ссылку на ваш скрипт? с этим решить вашу проблему будет проще.   -  person Kshitij Mittal    schedule 22.09.2017
comment
ты хочешь убить свой собственный сценарий? почему не sys.exit()?   -  person Jean-François Fabre    schedule 22.09.2017
comment
Добро пожаловать в stackoverflow.com. Пожалуйста, не могли бы вы предоставить код вашей конкретной проблемы. Это покажет, как далеко вы пытались, и это поможет другим участникам лучше понять вашу проблему, в то время как вы предоставите им контекст вашей проблемы. Пожалуйста, проверьте эти ссылки: stackoverflow.com/help/mcve и stackoverflow.com/help/how-to-ask   -  person Elias MP    schedule 22.09.2017
comment
Как вы выполняете скрипт? Например, объекты subprocess.Popen имеют атрибут pid.   -  person holdenweb    schedule 22.09.2017
comment
извините, я не упомянул, что я хочу сделать.   -  person Tim    schedule 22.09.2017
comment
И вместо того, чтобы ссылаться на свой сценарий, отредактируйте свой вопрос (введите код, затем выберите его и нажмите CTRL/K или Cmd/K, чтобы отформатировать его). Постарайтесь, чтобы ваш пример был небольшим.   -  person holdenweb    schedule 22.09.2017
comment
с python script.py . Я пытался использовать subprocess.Popen, но безуспешно   -  person Tim    schedule 22.09.2017


Ответы (1)


os.getpid()

и

Как завершить процесс из Python с помощью pid?

был ответ.

person Tim    schedule 22.09.2017