ps
매뉴얼 페이지 에서 :
기본적으로 ps는 현재 사용자와 동일한 유효 사용자 ID(euid=EUID)를 갖고 호출자와 동일한 터미널에 연결된 모든 프로세스를 선택합니다.
내 Ubuntu 시스템에서는 ps
플래그가 없는 출력이 예상한 대로입니다.
$ ps
PID TTY TIME CMD
6444 pts/11 00:00:00 bash
14605 pts/11 00:00:00 ps
이제 ps
OUTPUT MODIFIERS에 대한 매뉴얼 페이지에서 다시 살펴보겠습니다.
e Show the environment after the command.
하지만 시도하면 ps e
더 많은 프로세스가 나열됩니다.
$ ps e
PID TTY STAT TIME COMMAND
85 pts/1 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
100 pts/2 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
115 pts/3 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
130 pts/4 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
146 pts/5 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
174 pts/6 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
2988 pts/9 Ss 0:01 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
3477 pts/9 S+ 0:00 vi stepniak.json SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=55c420c4-12cf-4f4c-b957-b0b42e2777b8 JAVA_HOME=/home/myr
4513 pts/0 Ss+ 0:02 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
4540 pts/7 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
5653 pts/10 Ss+ 0:01 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
6444 pts/11 Ss 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
7942 pts/12 Ss 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
17962 pts/12 Sl 0:03 /home/myroot/jdk-11.0.2/bin/java -classpath /mnt/c/k8s-developer/maven-3.6.3/boot/plexus-classworlds-2.6.0.jar -Dclassworlds.conf
17997 pts/11 R+ 0:00 ps e SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=7e85f66b-c77a-42da-8782-c0912c196b46 JAVA_HOME=/home/myroot/jdk-11.0
24958 pts/12 Sl 1:05 java -jar myapp.jar SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=d9a61855-27fe-4757-a7c9-a38f38fe7fc7 JAVA
25185 pts/12 S+ 0:03 tail -f nohup.out SHELL=/bin/bash WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=d9a61855-27fe-4757-a7c9-a38f38fe7fc7 JAVA_HOME=/home/my
내 이해에 따르면 e
는 OUTPUT 수정자이며 프로세스를 선택하는 데 사용되는 기준을 변경해서는 안 됩니다(일반적으로 등으로 수행됨 -e
) a
.
그렇다면 왜 ps e
더 많은 프로세스가 나열되어 있습니까 ps
?
노트: ps -f
또는 ps -F
예상대로 작동합니다 -
$ ps -F
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
myroot 6444 6443 0 4333 12404 2 00:25 pts/11 00:00:00 -bash
myroot 19976 6444 0 2655 3340 7 23:05 pts/11 00:00:00 ps -F
내 운영 체제 정보:
$ cat /etc/*rel*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
답변1
ps e
BSD 스타일 옵션을 사용하십시오(다음을 따르십시오).procps
명칭을 따르세요).이
또한 소유한 다른 터미널(TTY)의 프로세스를 포함하도록 프로세스 선택을 변경합니다.
이 e
옵션은 선택 자체를 변경하지는 않지만, 기본 선택에 현재 터미널과 다른 터미널의 모든 프로세스가 포함되는 모드로 변경합니다.
다른 BSD 스타일 출력 제어 옵션도 동일한 효과를 갖습니다. 예를 들어 ps l
또는 를 참조하세요 ps u
.