내 파이썬 코드 내부에서 NGREP 프로세스를 시작하고 중지 할 수 있기를 원합니다. 필자는 시스템 레벨에서 파이썬에 대한 경험이 없다.Python 및 NGREP
일반적으로 명령 줄에서 NGREP를 실행하지만 매 시간마다 스크립트에서 실행하여 추적을 캡처 한 다음 결과를 처리 할 수 있기를 원합니다.
누구든지이 목표를 달성하는 방법을 알려줄 수 있습니까?
그건 그렇고, 필자는 패킷 캡처를 할 수 있어야합니다. 아마 파이썬에는이 기능이 내장되어 있습니다. 아마도 tcpdump일까요?
감사합니다.
왜 threading.Timer가이 경우에 유용 할 지 모르겠습니다. – nosklo
그는 1 시간마다 실행하기를 원하기 때문에 ... 프로그램을 실행하고 프로그램이 완료되면 또 다른'threading.Timer'를 만들기 위해'threading.Timer (3600, runNgrep, args, kwargs)'를 작성하십시오. 'runNgrep'은 args와'kwargs'를 인자로 취하는 함수입니다. –
다음은 좋은 제안입니다. 어떤 생각을 어떻게 프로세스를 죽일 생각? 나는 문서를 본다. 그것은 send_signal(), terminate() 및 exit() 메소드가 파이썬 2.6에서만 사용 가능한 것처럼 보입니다. 파이썬 2.5를 실행 중입니다. 귀하의 제안에 따라, 나는 subprocess.Popen을 사용하여 프로세스 ID를 얻은 다음 프로세스를 종료하기 위해 kill pid로 subprocess.Popen을 실행합니다. 매우 우아하지는 않습니다. 아마 프로세스를 종료하는 더 좋은 방법이 있을까요? – Dave