linux ps 명령어

현승빈·2023년 7월 31일

개요

Linux에서 ps는 "프로세스 상태"를 나타내며 시스템에서 현재 실행 중인 프로세스에 대한 정보를 제공하는 데 사용되는 명령줄 유틸리티입니다. 이를 통해 사용자는 프로세스, 상태 및 이와 관련된 다양한 속성을 모니터링할 수 있습니다. ps 명령은 일반적으로 프로세스 관리, 문제 해결 및 시스템 모니터링에 사용됩니다.

ps 명령의 기본 구문은 다음과 같습니다.

## ps [options]

$ ps

    PID TTY          TIME CMD
    778 pts/0    00:00:00 bash
   1040 pts/0    00:00:00 ps

일반적으로 사용되는 몇 가지 옵션은 다음과 같습니다.


aux :
가장 일반적으로 사용되는 옵션 중 하나입니다.

/* 
다른 사용자에게 속한 프로세스를 포함하여 시스템에서 실행 중인 모든 프로세스의 자세한 목록을 표시합니다.
프로세스 ID(PID), 프로세스와 관련된 터미널(TTY), CPU 및 메모리 사용량, 프로세스 상태(STAT),
시작 시간 및 프로세스를 시작한 명령(CMD)을 보여줍니다 
*/

/*
VSZ는 "가상 메모리 크기"를 나타냅니다. 
실제 RAM(상주 메모리)과 스왑 공간(있는 경우)을 
모두 포함하는 프로세스에서 사용하는총 가상 메모리를 나타냅니다

RSS는 "Resident Set Size"를 의미하고 실제로 메모리에 상주하고 있는 메모리 사이즈 를 의미합니다.
현재 RAM에 있고 CPU에서 쉽게 액세스할 수 있는 프로세스에서 사용하는 실제 메모리입니다
*/

$ ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1 170084 12104 ?        Ss   08:58   0:00 /sbin/init
root           2  0.0  0.0   2324  1256 ?        Sl   08:58   0:00 /init
root           5  0.0  0.0   2352    80 ?        Sl   08:58   0:00 plan9 --control-socket 6 --log-level 4 --server-fd 7 --pipe-fd 9 --log-truncate
root          59  0.0  0.1  52112 15748 ?        S<s  08:58   0:00 /lib/systemd/systemd-journald
root          83  0.0  0.0  22316  6496 ?        Ss   08:58   0:00 /lib/systemd/systemd-udevd
systemd+     101  0.0  0.0  19084  7768 ?        Ss   08:58   0:00 /lib/systemd/systemd-networkd
root         281  0.0  0.0   3764  1756 ?        Ss   08:58   0:00 snapfuse /var/lib/snapd/snaps/core20_1974.snap /snap/core20/1974 -o ro,nodev,allow_other,suid
root         283  0.0  0.0   3516   176 ?        Ss   08:58   0:00 snapfuse /var/lib/snapd/snaps/core20_1950.snap /snap/core20/1950 -o ro,nodev,allow_other,suid
root         287  0.0  0.0   3832  1428 ?        Ss   08:58   0:00 snapfuse /var/lib/snapd/snaps/lxd_24061.snap /snap/lxd/24061 -o ro,nodev,allow_other,suid
root         289  0.0  0.0   3516   200 ?        Ss   08:58   0:00 snapfuse

e :
이 옵션은 연결된 터미널에 관계없이 시스템의 모든 프로세스에 대한 정보를 표시하는 데 사용됩니다.

tmdqls6625@L-sbhyun:~$ ps e
    PID TTY      STAT   TIME COMMAND
    778 pts/0    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:/usr/lib/wsl/lib:/mnt/c/Progra
    981 pts/1    S+     0:00 -bash HOME=/home/tmdqls6625 SHELL=/bin/bash USER=tmdqls6625 LOGNAME=tmdqls6625 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/us
   1047 pts/0    R+     0:00 ps e SHELL=/bin/bash WSL2_GUI_APPS_ENABLED=1 WSL_DISTRO_NAME=Ubuntu-20.04 WT_SESSION=3136fc7e-5322-4472-bd35-441bfc2bd7a2 NAME=L-sbhyun PWD=/home/tmdqls6625 LO

f :
"forest" 옵션은 부모-자식 관계를 보여주는 프로세스의 계층적 트리 보기를 표시합니다.

$ ps f
    PID TTY      STAT   TIME COMMAND
    981 pts/1    S+     0:00 -bash
    778 pts/0    Ss     0:00 -bash
   1052 pts/0    R+     0:00  \_ ps f

u :
이 옵션은 프로세스 소유자의 사용자 이름을 포함하여 프로세스에 대한 자세한 정보를 표시합니다.

$ ps u
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
tmdqls6+     778  0.0  0.0  10060  5068 pts/0    Ss   08:58   0:00 -bash
tmdqls6+     981  0.0  0.0  10024  4884 pts/1    S+   08:58   0:00 -bash
tmdqls6+    1107  0.0  0.0  10620  3236 pts/0    R+   10:03   0:00 ps

x :
이 옵션은 터미널과 연결되지 않은 백그라운드 프로세스를 표시합니다.

$ ps x
    PID TTY      STAT   TIME COMMAND
    778 pts/0    Ss     0:00 -bash
    973 ?        Ss     0:00 /lib/systemd/systemd --user
    974 ?        S      0:00 (sd-pam)
    981 pts/1    S+     0:00 -bash
   1110 pts/0    R+     0:00 ps x

ps는 grep 과 같이 사용하여 원하는 값만 찾을 수 있습니다

ps aux | grep nginx
root         425  0.0  0.0  51216  1500 ?        Ss   08:58   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data     426  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     427  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     428  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     429  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     430  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     431  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     432  0.0  0.0  51780  5192 ?        S    08:58   0:00 nginx: worker process
www-data     433  0.0  0.0  51780  5184 ?        S    08:58   0:00 nginx: worker process
tmdqls6+    1124  0.0  0.0   8168   720 pts/0    S+   10:08   0:00 grep --color=auto nginx
profile
클라우드 엔지니어

0개의 댓글