본문 바로가기
Computer Science/Operating System

Linux | netstat, lsof, ps를 이용한 프로세스 확인 방법

by YIAN 2022. 1. 3.

 

 

🥂 요구사항 (Requiredments)

 

AWS EC2 서버에 접속해서 리눅스 명령어로 확인하고 작업해야 할 일이 있었습니다. 리눅스 관련 명령어는 기억이 나지 않아서 매번 찾아서 사용했는데, 본 포스팅에서 자주 사용하는 명령어를 일부 정리해 두려고 합니다.

 

 

🍧 해결방안 (Solution or Next Step)

요약

# 클라이언트 접속 요청 대기 중인 프로그램 조회
$ netstat -nap | grep LISTEN

# 열려있는 상태의 포트와 프로그램 조회
$ netstat -tnlp

# 특정 포트가 클라이언트 접속 요청 대기 중인지 조회
$ lsof -i :8080 | grep LISTEN

# 특정 포트 범위 안에서 클라이언트 접속 요청 대기 중인지 조회
$ lsof -i:8080-11600

# 특정 조건 프로세스 조회
$ ps -ef | grep java

 

참고로 명령어 사용 시 맨 앞에 '$' 표시는 같이 사용하지 않습니다. 코드 블록이 해당 코드를 하이라이팅해 주지 않아서 Bash라는 것을 나타내기 위해 표시한 것입니다. 하단의 내용에서는 다음 3가지 명령어를 간략하게 살펴보겠습니다.

 

  • netstat
  • lsof
  • ps

 

1. netstat 관련 명령어

1) 클라이언트 접속 요청 대기 중인 프로그램 조회

(1) 명령어와 사용 방법

$ netstat -nap | grep LISTEN
  • netstat [옵션] | grep [상태값]

(2) 출력화면 예시

 

2) 열려있는 포트와 프로그램 조회

(1) 명령어와 사용 방법

$ netstat -tnlp
  • netstat [옵션]

(2) 출력화면 예시

 

3) 기타 명령어

  • 본 포스팅에서는 어떤 옵션이 있는지만 확인하겠습니다. 참고해 주세요.
$ netstat --help

 

2. lsof 관련 명령어

1) 특정 포트가 클라이언트 접속 요청 대기 중인지 조회

(1) 명령어와 사용 방법

$ lsof -i :8080 | grep LISTEN
  • lsof -i :[포트] | grep [상태값]
  • 참고: l은 L의 소문자입니다.

(2) 출력화면 예시

  • 해당 결과가 있을 경우: 거의 다 가리긴 했지만, PID, 포트 등의 정보를 알 수 있습니다.

  • 해당 결과가 없을 경우: 아무것도 뜨지 않습니다.

 

2) 특정 포트 범위 안에서 클라이언트 접속 요청 대기 중인지 조회

(1) 명령어와 사용 방법

$ lsof -i:8080-11600
  • lsof -i:[시작 포트]-[끝 포트]

(2) 출력화면 예시

 

3) 기타 명령어

  • 본 포스팅에서는 어떤 옵션이 있는지만 확인하겠습니다. 참고해 주세요.
$ lsof --help

 

3. ps 관련 명령어

1) 특정 조건 프로세스 조희

(1) 명령어와 사용 방법

$ ps -ef | grep java
  • ps -ef | grep [조건]

(2) 출력화면 예시

 

2) 기타 명령어

  • 본 포스팅에서는 어떤 옵션이 있는지만 확인하겠습니다. 참고해 주세요.
$ ps --help

 

$ ps --help all

 

 

🍓 회고 (Retrospective)

 

실무에 뛰어든 지 얼마 안 됐을 때, 리눅스 명령어에 관해 공부했었는데 자주 사용하지 않으면 금방 잊어버리기 쉬운 것 같습니다. 조금씩 메모해두었던 명령어들을 기록했습니다. 다른 글에서 netstat, lsof, ps를 자세히 다뤄보려고 합니다. 주니어 개발자의 성장을 위한 피드백은 언제나 환영입니다.

 

 

📚 참고자료 (References)

 

 

댓글