원격 Amazon EC2 인스턴스에서 매시간 프로그램을 실행하도록 Cron 작업을 예약합니다. 프로그램을 실행하는 데 약 55분이 걸리며 프로그램이 시작되고 중지될 때 나에게 이메일을 보냅니다.
항상 잘 작동했는데, 최근 프로그램이 갑자기 더 오래 걸리기 시작한 것 같습니다("종료 이메일"은 시작 이메일로부터 55분 이상 뒤에 도착합니다). 이는 동시에 여러 프로세스가 실행될 수 있음을 의미합니다. 현재 실행 중인 모든 프로세스를 살펴봄으로써 이를 확인하고 싶었지만 어떤 이유로 "ps"를 입력하면 bash와 ps 명령 자체라는 두 개의 프로세스만 표시됩니다.
프로세스가 ps에 표시되지 않는 이유를 아시나요? 어떻게 찾을 수 있나요? SSH를 통해 Amazon EC2 인스턴스에 다시 연결했습니다. 이것이 표시되는 프로세스에 영향을 미치는지 확실하지 않습니다.
매우 감사합니다!
답변1
백그라운드에서 시작된 프로세스를 포함하여 모든 프로세스를 표시하려면 일부 플래그를 사용해야 합니다( root
예 : 프로세스 이름 ps aux
과 함께 ).grep
-a
: 자신의 프로세스는 물론 다른 사용자 프로세스에 대한 정보도 표시합니다.-u
: 지정된 사용자 이름에 속한 프로세스를 표시합니다.
추가 man ps
정보.
답변2
다른 사용자의 제안에 따라 ps 명령에 더 많은 세부 정보를 추가해야 합니다. 나를 위해 일한 것은 다음과 같습니다.
ps -eo pid,comm,cmd,start,etime
이것은 모든 프로세스를 표시하고(-e) 내가 지정한 정보(-o)를 제공합니다. 작업을 종료할 수 있도록 프로세스 ID(pid), 명령(comm) - 즉, Python, bash 등, cmd(완료) 프로그램 경로), 시작 시간 및 경과 시간입니다.