ps는 유닉스/리눅스에서 필수로 쓰는 기본 명령어 중 하나다. 현재 작동 중인 프로세스를 볼 수 있고, 유저 아이디나 cpu 사용량, 메모리 사용량, 명령어 이름 등등도 나열할 수 있다. 하지만 top이나 htop과 달리 데이터를 현재 실시간으로 나열하지는 않는다.
ps 명령어는 BSD와 UNIX(Linux 포함) 문법을 다 쓸 수 있다. 종종 헷갈리기 쉽다. 큰 차이점 중 하나는 BSD에서는 “-”를 사용 하지 않고, UNIX에서는 “-”를 사용한다.
BSD
$ ps aux
UNIX/Linux
$ ps -ef
리눅스에서는 ps ax -f 처럼 두 문법을 섞어 써도 무방하다. 여기서는 유닉스/리눅스에 초점을 맞춰서 설명을 한다.
주요 사용법은 다음과 같다.
1. 모든 프로세스를 표시
$ ps ax
$ ps -ef
이렇게 하면 목록을 주르륵 표시하는데 터미널 화면에서 휙 지나갈 수 있다. 최신 터미널에서는 화면을 위로 올려 볼 수 있기는 하지만, less를 같이 사용하면 한 화면 씩 표시를 한다.
$ ps ax | less
$ ps -ef | less
Enter를 누르면 한 줄 씩 다음 줄을 보여 주고, Space Bar를 누르면 한 쪽 씩 화면을 넘긴다.
"u" 또는 "-f" 옵션을 주면 프로세스에 관한 세부 정보를 볼 수 있다.
$ ps aux
$ ps -ef -f
2. 사용자별로 사용 중인 프로세서 표시
-u 옵션 다음에 사용자 아이디를 넣으면 해당 사용자가 사용 중인 프로세서를 표시한다.
$ ps -f -u 사용자아이디
3. 이름 또는 프로세스 아이디 별로 표시
프로세스 이름 또는 명령어로 프로세스를 검색할 때는 -C 옵션 다음에 원하는 검색어를 쓴다.
$ ps -C firefox
프로세스 아이디별로 프로세스를 표시할 때에는 -p 옵션을 쓴다. 두 개 이상일 때에는 ","로 구별하여 나열한다.
$ ps -f -p 3100, 5490, 8977
-C 옵션을 쓸 때는 검색하려는 프로세스 이름이 정확해야 한다. 정확한 프로세스 이름이 아니라 비슷한 이름으로 검색을 할 때에는 "grep" 파이프를 사용한다.
$ ps -ef | grep fire
4. cpu 또는 메모리 사용량에 따른 프로세스 분류
분류 옵션을 쓰면 어떤 프로세스가 얼마나 많은 메모리를 쓰고 있는지 알 수 있다. 복합적인 조건을 ","로 나눠서 "--sort"와 같이 쓸 수 있다. 그리고 "-"와 "+"는 각각 내림차순, 올림차순으로 정렬을 한다. 프로세스를 분류하는 방법은 여러가지가 있는데, 자세한 건 man 페이지를 참조한다.
$ ps aux --sort=-pcpu,+pmem
cpu를 가장 많이 사용 하는 프로세스 다섯 개를 분류하는 방법
$ ps aux --sort=-pcpu | head -5
'컴퓨터 > 리눅스(Linux)·우분투(Ubuntu)' 카테고리의 다른 글
데비안/우분투: 부트 업 메니저(BUM: Boot-Up Manager) (0) | 2016.06.15 |
---|---|
유닉스/리눅스 명령어 'cd' (0) | 2016.06.03 |
터미널에서 리눅스 커널 버젼 알아내기 (0) | 2016.05.19 |
우분투에서 패키지 설치와 삭제(언인스톨) 방법 (0) | 2016.05.17 |
Gnome Shell을 사용 할 때 유용한 단축 글쇠 몇 가지: (0) | 2016.05.10 |