ps aux
는 모든 프로세스와 해당 상태 및 리소스 사용량 (Linux / BSD / MacOS)을 편리하게 나열하는 것 같습니다. 그러나 man ps
를 사용하여 매개 변수 aux
의 의미를 이해할 수 없습니다.
의미?
댓글
- BTW ps = 프로세스 상태
답변
a = 모든 사용자의 프로세스 표시
u = 프로세스의 사용자 / 소유자 표시
x = 터미널에 연결되지 않은 프로세스도 표시
그런데 man ps
는 좋은 리소스입니다.
역사적으로 BSD 및 AT & T는 ps
의 호환되지 않는 버전을 개발했습니다. 선행 대시가없는 옵션 (질문에 따라)은 BSD 스타일이고 선행 대시가있는 옵션은 AT T Unix 스타일.이 외에도 Linux는 두 가지 스타일을 모두 지원하는 버전을 개발했습니다. 그런 다음 이중 대시로 시작하는 옵션이있는 세 번째 스타일을 추가합니다.
포함되지 않은 모든 (또는 거의 모든) Linux 배포판은 procps 제품군. 위의 옵션은 procps ps
매뉴얼 페이지 에 정의되어 있습니다.
댓글에서 , 당신은 Apple MacOS를 사용하고 있다고 말합니다 (OSX, 나는 추측합니다). ps
의 OSX man 페이지는 여기 이며 AT & T 스타일.
댓글
- @HowardGuo 그렇지 않습니까 ' t
-u
u
와는 대조적으로? - @HowardGuo GNU 간의 차이점을 반영하여 답변을 업데이트했습니다. (Linux)
ps
버전 및 Apple OSX 버전. 이 질문은 현재 " Linux " 태그가 지정되어 있습니다. MacOS에 대해서도 질문하는 경우 태그를 업데이트하는 것이 좋습니다. - 감사합니다. 방금 Linux에서 ps의 매뉴얼 페이지를 확인했는데
aux
, MacOS '에 대한 정보가 있습니다. 매뉴얼 페이지에는 이러한 정보가 없습니다. 문서 버그 일 수 있습니다. -
ps
의 OSX 매뉴얼 페이지에 " …ps aux
는 " 레거시 설명 "<의 Tiger "에서와 마찬가지로 계속 작동합니다. / div> 섹션. - "
man ps
가 Mac에서 좋은 리소스라는 의견에 이의를 제기해야합니다. OSX. 맨 페이지 맨 끝에 만ps aux
가 편의상 유지되지만 맨 앞에 하이픈을 붙이지 않고 옵션을 지정할 수 있다는 힌트는 전혀 없습니다. 페이지는 길고 매우 복잡하며 독자는이 stackexchange 질문을 포기하고 인터넷 검색을하기 전에 자신의 정신에 의문을 제기하는 데 많은 시간을 할애 할 수 있습니다.
답변
a Lift the BSD-style "only yourself" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes with a terminal (tty), or to list all processes when used together with the x option. u Display user-oriented format. x Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps), or to list all processes when used together with the a option.
예
$ ps aux | head -10 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 51120 2796 ? Ss Dec22 0:09 /usr/lib/systemd/systemd --system --deserialize 22 root 2 0.0 0.0 0 0 ? S Dec22 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Dec22 0:04 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Dec22 0:00 [kworker/0:0H] root 7 0.0 0.0 0 0 ? S Dec22 0:15 [migration/0] root 8 0.0 0.0 0 0 ? S Dec22 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? S Dec22 2:47 [rcu_sched] ... saml 3015 0.0 0.0 117756 596 pts/2 Ss Dec22 0:00 bash saml 3093 0.9 4.1 1539436 330796 ? Sl Dec22 70:16 /usr/lib64/thunderbird/thunderbird saml 3873 0.0 0.1 1482432 8628 ? Sl Dec22 0:02 gvim -f root 5675 0.0 0.0 124096 412 ? Ss Dec22 0:02 /usr/sbin/crond -n root 5777 0.0 0.0 51132 1068 ? Ss Dec22 0:08 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplica saml 5987 0.7 1.5 1237740 119876 ? Sl Dec26 14:05 /opt/google/chrome/chrome --type=renderer --lang=en- root 6115 0.0 0.0 0 0 ? S Dec27 0:06 [kworker/0:2] ...
위의 스위치를 사용하면 ” 위와 같은 프로세스에 대한 출력이 표시됩니다.
스위치 aux
는 다음을 표시합니다.
- 모든 사용자 “프로세스
- 사용자 중심 방식 (사용자 이름 별)으로 나열된 프로세스를 보여줍니다.
- 터미널에 연결된 프로세스뿐만 아니라 모든 프로세스를 보여줍니다. 여기에는 crond, upowerd 등과 같은 서비스와 같은 프로세스가 포함됩니다.
Answer
manpage 는 “aux”(내가 먼저 시도한 것)를 검색하는 것이 아니라 매개 변수의 종류를 설명하는 섹션에 초점을 맞추는 것입니다. ps
소요 :
이 버전의 ps는 여러 종류의 옵션을 허용합니다.
- UNIX 옵션, 그룹화 될 수 있으며 대시가 앞에 와야합니다.
- 그룹화 될 수 있으며 대시와 함께 사용해서는 안되는 BSD 옵션
- 앞에 뒤에 오는 GNU 긴 옵션 두 개의 대시.
이로부터 aux
가 (그룹화 된 ) BSD 옵션, a
, u
및 x
:보기가 약간 더 쉽습니다. 위로.
-
a
및x
제어 l 어떤 프로세스가 선택되고 함께 사용되는지 명시 적으로 설명되어 모든 프로세스를 선택합니다. -
u
“사용자 지향 “형식은 사용자 ID 및 CPU / 메모리 사용량을 포함하여 더 많은 열을 제공합니다.
u
만으로 출력 형식을 제어하므로
.