ps aux
모든 프로세스와 상태 및 리소스 사용량 (Linux / BSD / MacOS)을 편리하게 나열하는 것처럼 보이지만을 aux
사용하여 매개 변수의 의미를 이해할 수는 없습니다 man ps
.
무슨 aux
뜻입니까?
답변
a = 모든 사용자에
대한 프로세스 표시 u = 프로세스의 사용자 / 소유자
표시 x = 터미널에 연결되지 않은 프로세스 표시
그건 그렇고, man ps
좋은 자원입니다.
역사적으로 BSD와 AT & T는 호환되지 않는 버전을 개발했습니다 ps
. 선행 대시가없는 옵션 (질문에 따라)은 BSD 스타일이고 선행 대시가있는 옵션은 AT & T Unix 스타일입니다. 또한 Linux는 두 스타일을 모두 지원하는 버전을 개발 한 다음 이중 대시로 시작하는 옵션이있는 세 번째 스타일을 추가했습니다.
모든 (또는 거의 모든) 비 임베디드 Linux 배포판은 procps 제품군 의 변형을 사용합니다 . 위의 옵션은 procps ps
매뉴얼 페이지에 정의되어 있습니다.
의견에서, 당신은 당신이 Apple MacOS (OSX, 나는 추정)를 사용하고 있다고 말합니다. OSX 매뉴얼 페이지 ps
는 여기에 있으며 AT & T 스타일에 대한 지원 만 보여줍니다.
답변
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 등과 같은 서비스와 같은 프로세스가 포함됩니다.
답변
맨 페이지 를 이해하는 열쇠 는 “aux”(첫 번째로 시도한)를 검색하는 것이 아니라 매개 변수의 종류를 설명하는 섹션에 집중하는 것입니다 ps
.
이 버전의 ps는 여러 종류의 옵션을 허용합니다.
- UNIX 옵션은 그룹화 될 수 있으며 앞에 대시가 와야합니다.
- BSD 옵션은 그룹화 될 수 있으며 대시와 함께 사용해서는 안됩니다.
- 두 개의 대시가 앞에 오는 GNU 긴 옵션.
이것으로부터, 우리 aux
는 (그룹화 된) BSD 옵션 세트 인 a
, u
및 x
을 통해 약간 더 쉽게 찾을 수 있습니다.
-
a
x
어떤 프로세스가 선택되고 함께 사용되는지 를 제어하여 모든 프로세스를 선택하도록 명시 적으로 설명됩니다. -
u
“사용자 지향”형식을 사용하여 출력하며, 이는 사용자 ID 및 CPU / 메모리 사용을 포함하여 더 많은 열을 제공합니다.