프로세스 가동 시간을 기록하고 다시 시작하는 방법

프로세스 가동 시간을 기록하고 다시 시작하는 방법

다음을 통해 프로세스의 가동 시간을 확인할 수 있다는 것을 알고 있습니다.

ps -o etime= -p "PID"

여기서 PID = pid 번호입니다.

이 프로세스가 끝나면 로그를 작성하고 가동 시간을 포함하고 싶습니다. 종료되는 정확한 시간은 괜찮지만 꼭 필요한 것은 아닙니다. 자동으로 다시 시작하는 스크립트가 있는데 안정성을 개선하고 싶습니다. 이 경우 프로세스는 ffmpeg입니다. 불안정한 소스에서 매우 낮은 대역폭 스트림을 실행하고 있는데 프로세스가 간헐적으로 실패합니다.

하루나 이틀 정도 기록할 수 있다면 다양한 구성을 시도해보고 가동 시간을 허용 가능한 한도까지 연장할 수 있는지 알아보겠습니다.

귀중한 통찰력에 감사드립니다!

답변1

ps -eo pid,comm,lstart,etime,time,args

이 명령은 여러 가지 시간 관련 열이 있는 모든 프로세스를 나열합니다. grep ffmpeg관심 있는 프로세스에 대해 알아보기 위한 파이프라인입니다 .

이전 명령의 출력에는 다음 열이 있습니다.

PID COMMAND                          STARTED     ELAPSED     TIME COMMAND

~에 따르면추신

PID = Process ID
first COMMAND = only the command name without options and without arguments
STARTED = the absolute time the process was started
ELAPSED = elapsed time since the process was started (wall clock time), format [[dd-]hh:]mm:ss TIME = cumulative CPU time, "[dd-]hh:mm:ss" format
second COMMAND = again the command, this time with all its provided options and arguments

관련 정보