저는 ps
주어진 임계값보다 오랫동안 실행된 프로세스를 식별하기 위한 연습의 일부로 명령을 사용하고 있습니다.
다음 템플릿을 사용하여 알려진 프로세스 명령의 실행 시간을 가져옵니다.
ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}'
단기 실행 프로세스의 경우 etime(경과 시간) 값이 다음 형식인 것을 확인했습니다 minutes:seconds
. 이를 통해 프로세스가 실행된 기간을 쉽게 확인할 수 있습니다.
장기 실행 프로세스(최대 며칠)의 형식을 이해할 수 없습니다.
htop
126시간 동안 실행되는 MySQL 서버 프로세스가 있습니다 .
실행은 ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'
나에게 9-03:35:32
.
내 추측으로는 이것이 9시간, 3시간, 35분 32초를 의미한다는 것이다. 9의 단위가 무엇인지 모르겠습니다.
프로세스는 126시간, 약 5.25일 동안 실행되었습니다. 이는 위 출력의 9가 일 수를 나타내지 않음을 나타냅니다. 또한 (9 * 12)시간 + 3시간 + 35분 + 32초는 5일 미만이므로 반일이 될 수 없습니다.
장기 실행 프로세스에 대해 표시되는 경과 시간 값을 어떻게 해석합니까? 위 출력에서 9 옆에 있는 단위는 무엇입니까?
답변1
~에 따르면기준:
POSIX 언어 환경에서 프로세스가 시작된 이후 경과된 시간입니다. 형식은 다음과 같습니다.
[[dd-]hh:]mm:ss
여기서 dd는 일 수, hh는 시간, mm은 분, ss는 초를 나타냅니다. dd 필드는 10진수 정수여야 합니다. hh, mm 및 ss 필드는 두 자리 십진수 정수여야 하며 왼쪽에는 0이 채워져 있어야 합니다.
믿거나 말거나 9는 천국을 의미합니다. htop의 출력을 잘못 해석하고 있습니까? top(시간 형식은 minutes:seconds
)은 무엇을 말하나요? htop에서 보고 있는 필드가 etime과 동일합니까? (예를 들어, 이는 126을 의미합니까?분~의CPU시간? )