[Network] 4-2. ⭐️4 Layer 활용하기⭐️lsof

llunaB·2022년 2월 13일
0

network

목록 보기
8/9
post-custom-banner

리눅스의 lsof command 는 현재 열려 있는 모든 프로그램을 확인하는 명령어이다.

어떻게 활용해야 할까?

내게 필요한 것은 다음 사항이다.

  1. 지금 내 컴퓨터에서 활성화된 포트를 확인한다.
  2. 특정 포트에서 작동중인 프로그램의 PID 를 확인한다.
  3. (옵션) 그 PID에 의해 열려있는 프로그램을 확인한다.
  4. 해당 프로그램을 종료한다.

macOS, Linux 기준으로 필요한 명령어만 정리했으니 외워서 쓸 수 있도록 하자.

List all Open Files (lsof = list open files)

lsof

FD(File Discriptor)

  • cwd current working directory
  • rtd root directory
  • txt program text (code and data)
  • mem memory-mapped file

Access

  • r for read access.
  • w for write access.
  • u for read and write access.

TYPE

typr of files and it's identification

  • DIR – Directory
  • REG – Regular file
  • CHR – Character special file.
  • FIFO – First In First Out

⭐️ Find Processes - To get a list of all listening TCP ports with lsof type:

sudo lsof -nP -iTCP -sTCP:LISTEN

sudo lsof -nP -iTCP -sTCP:LISTEN

⭐️ Find Processes Running on Specific Port

lsof -i TCP:22

⭐️ Find the Process ID (PID)

lsof -nP -iTCP -sTCP:LISTEN | grep 8080
java 4582 johan 194u IPv6 0x1de155f6b2c74d03 0t0 TCP *:websm (LISTEN)
# 4582 is the pid listening on port 8080

⭐️ List all open files that are opened by a particular process

lsof -p <PID>

⭐️ How to Kill or Stop the Process by PID

kill -9 <PID>

The lsof Command

manual

man lsof

to speed-up

lsof -nP
  • -n (inhibits the conversion of network numbers to host names for network files)

  • -P (inhibits the conversion of port numbers to port names for network files)

profile
안녕하세요. 성장하는 주니어 개발자입니다. :-)
post-custom-banner

0개의 댓글