Я хочу, чтобы начать и остановить процесс NGREP изнутри моего кода на Python. У меня действительно нет опыта работы с python на системном уровне.Python и NGREP
Обычно я запускаю NGREP из командной строки, но я хотел бы каждый раз запускать его из скрипта и захватывать трассировку, а затем обрабатывать результаты.
Может ли кто-нибудь указать мне, как это сделать.
Кстати, мне действительно нужно иметь возможность делать захват пакетов, возможно, у Python есть встроенные возможности для этого, возможно, tcpdump?
Спасибо.
Я не уверен, почему threading.Timer был бы полезен в этом случае. – nosklo
Потому что он хочет запускать его каждый час ... Итак, создайте 'threading.Timer (3600, runNgrep, args, kwargs)' для запуска программы и создания другого 'threading.Timer', когда программа закончится ... Где Очевидно, что 'runNgrep' - это функция, определяющая' args' и 'kwargs' как аргументы. –
Это хорошие предложения. Любая идея, как убить процесс, хотя? Я вижу документы. кажется, что методы send_signal(), terminate() и exit() доступны только в python 2.6. Я запускаю python 2.5. Следуя вашему предложению, я использую subprocess.Popen, затем получите идентификатор процесса, а затем запустите subprocess.Popen с kill pid, чтобы обработать процесс. Не настолько элегантный, возможно, есть лучший способ прекратить процесс? – Dave