Linux-프로세스가 언제 시작되었는지 어떻게 알 수 있습니까?


23

pid를 알고 있다고 가정하면 프로세스가 시작된 시점을 어떻게 알 수 있습니까? (Linux에서)

답변:


30

시작 시간 만 원하는 경우 다음을 수행하여 필드를 선택하고 헤더를 억제 할 수 있습니다.

 ps -p YOURPID -o lstart=

출력은 다음과 같습니다.

 Mon Dec 14 17:17:16 2009

이는 ctime(3)형식과 당신이 관련 부분을 분할 구문 분석 할 수 있습니다.

다른 시작과 같은 필드 start, stime, bsdstart그리고 start_time세 시간 (24 시간 후에 날짜 만 예를 들어, 표시됩니다).

그러나 추가 구문 분석없이 최근에 시작한 프로세스에 직접 사용할 수 있습니다.

ps -p YOURPID -o stime=

다음과 같은 결과가 출력됩니다.

09:26

이것은 맥에서도 작동합니다!
Brad Parks


8

awk '{print $22}' /proc/$pid/stat -부팅 후 지피에서 시작 시간을 제공합니다


답이 모호하다!
wzzrd

수수께끼 가동 시간이 '17 : 57 '인 시스템에는 시작 시간이'727975 '인 프로세스가 있습니다. 8 일 후에 프로세스가 시작된 것 같습니까?
Scott Pack

1
실제로 jiffies입니다 (100 / 초)
MarkR

1
너무 모호한 방법! 게다가, 이제 부팅 시간을 조회하고 수학을 수행하여 지프를 초로 변환하고 오프셋을 계산하여 클럭 시간을 가져와야합니다. 쉽지만 너무 많은 단계입니다. Chopper3의 답변을 참조하십시오.
추후 공지가있을 때까지 일시 중지되었습니다.

초당 지프의 양은 시스템 변수 HZ에 저장됩니다. 쉘에서 계산하기 위해 이것을 사용할 수 있습니다 : stackoverflow.com/a/44524937/1950345
reichhart

0

openvpn호스트에 주어진 이름 (예 :)을 가진 단일 프로세스가있는 경우 다음을 수행 할 수 있습니다.

ps -p `pgrep openvpn` -o lstart=

-1

당신이 ps -f | grep 할 수있는 한 가지 방법은 당신이 당신이 지혜롭게도 할 수있는 pid 다른 현명한

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.