실행중인 프로세스에서 상위 프로그램 / 앱이 무엇인지 식별 ​​할 수 있습니까?


2

내가 사용하는 프로세스를 찾을 수 있어요 topps. 문제 없습니다.

때로는 일부 프로세스가 많은 메모리 또는 CPU를 사용하고 있으며 루트 프로그램이 무엇인지 식별하려고합니다.

예를 들어, 프로세스는 sort때때로 4 시간 동안 2-3 기가 바이트의 메모리를 차지하게됩니다. sort프로세스를 시작한 프로그램이 무엇인지 알고 싶습니다 .

답변:


2

psPPID프로세스 의 / parent PID에 액세스 할 수있는 옵션이 있습니다 .

$ ps aux -o ppid
USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND           PPID
admin            65694  10.9  0.1  4385132  13340   ??  UN    9:32PM   0:00.07 /System/Library/     1

PPID 이 경우 마지막 열입니다.

(또는 View-> 을 선택하여 활동 모니터 사용 All Processes, Hierarchically)


이것이 올바른 명령인지 확인 하시겠습니까? 오류가 있습니다 :$ ps -aux -o PPID ps: No user named 'x' ps: PPID: keyword not found ps: no valid keywords; valid keywords:
Mateusz Szlosek

나는 Mac에 가까이 있지 않다. 잘못되었다.
nohillside

@ user3439894 이제 작동합니다.) 그러나 문제는 COMMAND탭에 프로세스 이름이 표시되지 않고 경로의 시작 (16 자)이라는 것입니다.
Mateusz Szlosek

2
@Mateusz Szlosek, ps auxc -o ppid대신 사용해보십시오 . 적어도 프로세스 바로 앞에 실행 파일 이름이 표시 ppid됩니다. 의 매뉴얼 페이지도 읽으십시오 ps.
user3439894

2

htop 을 사용 하고 F5거기에서 "트리"선행을 표시 할 수 있습니다 (을 누름 ). 예를 들면 다음과 같습니다.

htop 예제 화면


나는 htop(이 답변을보기 전에) 내 요구에 부응 하여 훌륭하게 작동했습니다. 감사! 나는 원래 찾고 있던 것이었고 다른 바이너리를 수행 할 필요가 없기 때문에 다른 답변을 선택했습니다.
jwmann
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.