리눅스 ps 명령어 실행중인 프로세스 확인 방법
- 운영체제(OS)
- 2023. 1. 8.
리눅스에서 실행 중인 프로세스를 확인할 때 ps 명령어를 사용할 수 있습니다. ps -ef 형태로 자주 사용되며 grep 명령어를 파이프라인으로 연결해 특정 프로세스에 대한 추가 정보를 확인하는 방식으로도 활용할 수 있습니다.
프로세스란?
프로세스(process)는 프로그램의 실행입니다. 응용 프로그램을 열거나 터미널에서 명령어를 실행할 때 프로세스가 올라옵니다. 실행된 프로세스에는 즉시 고유한 PID가 부여됩니다.
ps
ps는 현재 실행되고 있는 프로세스를 보여주는 명령어입니다. 옵션 없이 ps를 실행하면 아주 간단한 정보를 출력합니다.
[root@localhost ~]# ps
PID TTY TIME CMD
3161 pts/1 00:00:00 bash
3409 pts/1 00:00:05 java
3425 pts/1 00:00:35 java
4020 pts/1 00:00:00 su
4069 pts/1 00:00:00 su
4073 pts/1 00:00:00 bash
4211 pts/1 00:00:00 ps
ps -ef
ps -ef 명령어는 시스템의 모든 프로세스를 출력합니다.
- -e : 모든 프로세스를 출력합니다. 사용자가 실행한 프로세스를 포함해서 부팅하며 자동으로 실행되는 systemd 같은 프로세스도 모두 출력합니다.
- -f : 모든 포맷을 출력합니다. 더 자세한 출력 결과를 보여줍니다.
ps 명령어는 grep과 함께 쓰는 경우도 많습니다. 예를 들어, 실행 중인 postgresql 프로세스를 찾아보겠습니다.
[root@localhost bin]# ps -e | grep "post*"
1154 ? 00:00:00 postmaster
1218 ? 00:00:00 postmaster
1231 ? 00:00:00 postmaster
1232 ? 00:00:00 postmaster
1233 ? 00:00:00 postmaster
1234 ? 00:00:00 postmaster
1235 ? 00:00:00 postmaster
1242 ? 00:00:00 postmaster
출력된 결과로 알게된 PID로 netstat을 통해 소켓 리스닝 상태를 확인하는 식으로 추가 정보를 확인할 수 있습니다.
[root@localhost bin]# netstat -ntlp | grep "1154"
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1154/postmaster
tcp6 0 0 :::5432 :::* LISTEN 1154/postmaster
ps -aux
참고로 ps -ef 명령어는 ps -aux 명령어와 출력 결과가 비슷합니다. 단 ps -aux는 프로세스의 CPU와 메모리 사용량을 출력한다는 차이가 있습니다.
- a : 시스템의 모든 사용자가 실행 중인 프로세스를 출력합니다.
- u : 메모리, CPU 사용률, 프로세스 상태코드, 프로세스 소유자 등의 정보를 출력합니다.
- x : 시스템이 부팅될 때 백그라운드에서 실행되는 시스템 관련 프로세스도 출력합니다. 예를 들어 PID 1번인 systemd도 출력됩니다.
반응형
'운영체제(OS)' 카테고리의 다른 글
윈도우 OCX 파일이란? ActiveX 컨트롤 (0) | 2023.01.08 |
---|---|
리눅스 복사/붙여넣기 단축키 정리 (0) | 2023.01.08 |
리눅스와 윈도우가 파일 확장자를 인식하는 차이 (0) | 2023.01.07 |
curl로 웹서버에 있는 파일 다운받는 방법 (0) | 2023.01.01 |
윈도우10 시스템 복원 지점 설정 방법 (0) | 2022.12.31 |