ps aux에서 aux는 무엇을 의미합니까? 상태 및 리소스

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는 여러 종류의 옵션을 허용합니다.

  1. UNIX 옵션은 그룹화 될 수 있으며 앞에 대시가 와야합니다.
  2. BSD 옵션은 그룹화 될 수 있으며 대시와 함께 사용해서는 안됩니다.
  3. 두 개의 대시가 앞에 오는 GNU 긴 옵션.

이것으로부터, 우리 aux는 (그룹화 된) BSD 옵션 세트 인 a, ux을 통해 약간 더 쉽게 찾을 수 있습니다.

  • ax어떤 프로세스가 선택되고 함께 사용되는지 를 제어하여 모든 프로세스를 선택하도록 명시 적으로 설명됩니다.

  • u “사용자 지향”형식을 사용하여 출력하며, 이는 사용자 ID 및 CPU / 메모리 사용을 포함하여 더 많은 열을 제공합니다.