somoly.tistory.com
Published 2007. 3. 22. 02:20
리눅스 명령어 - ps Linux
ps

프로세스의 상태를 확인하는 명령어, 주로 서버의 상태를 파악하기 위해 프로세스의 상태를 관리자가 파악할때 사용한다.

사용형식

ps [option]


ex 1)
단순히 ps라고만 치면 현재 사용자가 실행시킨 프로세스만 볼 수 있다.
 
windpyj@ubuntu:~$ ps
  PID TTY          TIME CMD
 3584 pts/0    00:00:00 bash
 3600 pts/0    00:00:00 ps
windpyj@ubuntu:~$


ex 2)
ps명령어를 사용할 때 흔히 사용하는 옵션이 -e 와 -f 이다.
두개를 붙여서 ps -ef 로 사용을 한다
좀 복잡하지만 가장 자세한 정보를 확인 할 수 있다.

windpyj@ubuntu:~$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 02:02 ?        00:00:00 /sbin/init splash
root         2     1  0 02:02 ?        00:00:00 [migration/0]
root         3     1  0 02:02 ?        00:00:00 [ksoftirqd/0]
root         4     1  0 02:02 ?        00:00:00 [watchdog/0]
root         5     1  0 02:02 ?        00:00:00 [events/0]
root         6     1  0 02:02 ?        00:00:00 [khelper]
root         7     1  0 02:02 ?        00:00:00 [kthread]
root         9     7  0 02:02 ?        00:00:00 [kblockd/0]
root        10     7  0 02:02 ?        00:00:00 [kacpid]
root        11     7  0 02:02 ?        00:00:00 [kacpi_notify]
root        69     7  0 02:02 ?        00:00:00 [kseriod]
root       102     7  0 02:02 ?        00:00:00 [pdflush]
root       103     7  0 02:02 ?        00:00:00 [pdflush]
root       104     1  0 02:02 ?        00:00:00 [kswapd0]
root       105     7  0 02:02 ?        00:00:00 [aio/0]
root      1569     7  0 02:02 ?        00:00:00 [scsi_eh_0]
root      1660     7  0 02:02 ?        00:00:00 [khubd]
root      1712     7  0 02:02 ?        00:00:00 [kjournald]
root      1781     1  0 02:02 ?        00:00:00 //sbin/logd
root      1867     1  0 02:02 ?        00:00:01 /sbin/udevd --daemon
root      2560     7  0 02:02 ?        00:00:00 [shpchpd]
root      2603     7  0 02:02 ?        00:00:00 [kpsmoused]
root      2624     7  0 02:02 ?        00:00:00 [kgameportd]
root      3179     1  0 02:02 tty1     00:00:00 /sbin/getty 38400 tty1
root      3180     1  0 02:02 tty2     00:00:00 /sbin/getty 38400 tty2
root      3181     1  0 02:02 tty3     00:00:00 /sbin/getty 38400 tty3
root      3182     1  0 02:02 tty4     00:00:00 /sbin/getty 38400 tty4
root      3185     1  0 02:02 tty5     00:00:00 /sbin/getty 38400 tty5
root      3188     1  0 02:02 tty6     00:00:00 /sbin/getty 38400 tty6
root      3212     1  0 02:02 ?        00:00:00 /sbin/syslogd
root      3229     1  0 02:02 ?        00:00:00 /bin/dd bs 1 if /proc/kmsg of /v
klog      3231     1  0 02:02 ?        00:00:00 /sbin/klogd -P /var/run/klogd/km
root      3268     1  0 02:02 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql     3332  3268  0 02:02 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr
root      3333  3268  0 02:02 ?        00:00:00 logger -p daemon.err -t mysqld_s
dhcp      3353     1  0 02:02 ?        00:00:00 dhclient3 -pf /var/run/dhclient.
root      3463     1  0 02:02 ?        00:00:00 /usr/sbin/sshd
root      3475     1  0 02:02 ?        00:00:00 /usr/sbin/vsftpd
daemon    3501     1  0 02:02 ?        00:00:00 /usr/sbin/atd
root      3511     1  0 02:02 ?        00:00:00 /usr/sbin/cron
root      3534     1  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3552  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3553  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3554  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3555  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3556  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
root      3581  3463  0 02:05 ?        00:00:00 sshd: windpyj [priv]
windpyj   3583  3581  0 02:06 ?        00:00:00 sshd: windpyj@pts/0
windpyj   3584  3583  0 02:06 pts/0    00:00:00 -bash
windpyj   3609  3584  0 02:09 pts/0    00:00:00 ps -ef
windpyj@ubuntu:~$


ex 3)
ex 2의 경우 모든 프로세스 정보를 다 보여주는데 여기서 자기가 보고싶은 특정 프로세스 정보만 보려면 다음과 같이 grep 명령어와 함께 사용하면 된다.

windpyj@ubuntu:~$ ps -ef|grep apache2
root      3534     1  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3552  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3553  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3554  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3555  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
www-data  3556  3534  0 02:02 ?        00:00:00 /usr/sbin/apache2 -k start -DSSL
windpyj   3611  3584  0 02:14 pts/0    00:00:00 grep apache2
windpyj@ubuntu:~$


여기서 더 응용해서 apache2 프로세스의 수를 알아볼 수도 있다.

windpyj@ubuntu:~$ ps -ef|grep apache2|wc -l
7
windpyj@ubuntu:~$


이와 같이 ps는 리눅스에서 실행되는 모든 프로세스의 상태를 확인 할 수 있다.
profile

somoly.tistory.com

@RxCats

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!