ps aux | grep cgi
현재 실행 중인 모든 cgi 스크립트 목록을 얻을 수 있고 각 pid의 실행 시간을 얻을 수 있다는 것을 알고 있습니다 ps -p [pid] -o etime=
. 두 가지를 결합하는 방법이 있습니까? 아니면 "너무 오래" 실행되는 스크립트만 반환하는 것이 더 좋습니다. 예를 들어 45초)?
이상적으로는 문제를 찾고, 세부 사항을 이메일로 보내며, "안전을 위해" 프로세스를 적극적으로 종료할 수 있는 Perl 스크립트에 넣을 수 있는 것을 찾고 있습니다. a의 출력을 묶은 다음 결과를 반복하는 것이 더 낫습니까?
답변1
나는 과거에도 비슷한 일을 했습니다.
ps -A -o etime,pid,user,args| grep init
반품
180-04:55:20 1 root init [5]
이는 Perl에서 구문 분석하기 쉽습니다. 나는 그것을 분석하기 위해 분할과 팝을 사용합니다.
형식은 [[dd-]hh:]mm:ss입니다.
답변2
대신, 당신은 실행할 수 있습니다감시 장치, 이는 이미 이를 위해 설계되었습니다.