프로세스 시작 시간별로 ps 출력을 정렬하는 방법은 무엇입니까?


답변:


87

이것은 Linux 및 SysV5에서 작동합니다

ps -ef --sort=start_time

이것은 요청한대로 정확하게 작동합니다. 감사합니다. 좀 더 파고 난 후 조금 어색하지 않고 Mac OS에서 이것이 가능하다는 것을 확신하지 못합니다
Dean Smith

1
start_time이 효과가있었습니다. lstart는하지 않았다. RHEL
Felipe Alvarez 5

1
순서를 바꾸려면 어떻게해야합니까?
Phu Nguyen

2
@PhuNguyen은 파티에 조금 늦었지만 다른 누군가가 이것을 사용할 수 있습니다. 를 통해 출력을 파이핑하여 순서를 되돌릴 수 있습니다 tac.
Paul

1
@Stephane이 시도 :watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

리눅스 :

$ ps aux --sort=lstart 

OSX :

$ ps aux -O started

2
시작 시간별로 이러한 종류를 두려워하지 않습니다. 시작 시간을 표시하지만 정렬하지는 않습니다.
딘 스미스

2
lstart와 start_time의 차이점으로 인해 시간이 많이 걸리지 lstart만 정렬 키로 사용할 수는 없습니다. start_time일반적인 '지난 24 시간 내의 시간, 그렇지 않으면 날짜'열을 제공하며 정렬 키로 사용할 수 있습니다. 둘 다 헤더에 'STARTED'를 제공합니다.
LHMathies 8

지난 시간 이내의 시간 : 프로세스가 어제 오늘보다 늦게 시작된 경우 오늘 프로세스 이후에 표시됩니다. "awk"가 약간 변경되지 않는 한 정렬로 사용할 수 없습니다.
Olivier Dulac

@OlivierDulac : 나를 위해 아닙니다. 15/12 15:40전에 나타나는 16/12 15:39것처럼, 13:39이전에 나타납니다 15:38.
Gauthier

1
lstart가 작동하지 않았습니다. 시작 시간
Felipe Alvarez 5

5

위의 큰 답변과 함께 때로는 시간, CPU % 및 메모리 사용량에 따라 프로세스별로 상위 20 명의 위반자를보고 싶습니다.

이를 위해 나는 다음을 사용합니다.

ps auxww --sort=lstart | sort -r -k3,4 | head -20

Fedora에서도 동일한 결과를 얻었지만 CentOS 플랫폼에 있습니다.

오, 그리고 grins의 경우, 때때로 일련의 프로세스를 제거하고 싶기 때문에 위와 같은 grep -v 액션을 포함하는 변형을 사용합니다.

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

--sortps나를 위해 작동하지 않습니다. 쉘에 의존 sort. +1
kellogs

3

아직 언급 할 수는 없지만 시간 정렬 순서를 반대로하는 방법에 대한 질문에 대답 -하려면 필드 앞에 빼기 기호 ( )를 넣으십시오 .
예:ps -elf --sort=-start_time


2

또는 정렬하기 쉽고 사용하기 쉬운 시간 형식을 허용하므로 'ls'를 사용해보십시오.

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

상단에 최신 procs로 날짜 / 시간을 에포크로 출력합니다.


이것은 단지 pid를 보여줍니다
5

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