C.W.K.
Stream
Lesson 09 of 10 · published

lsof — 누가 뭘 쓰는지

~10 min · lsof, files, ports

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

List Open Files — 그리고 소켓 / 디바이스 / 전부

lsof 가 어느 프로세스가 어떤 파일 열고 있는지 표시. Unix 에선 모든 게 파일 (네트워크 소켓, tty, 파이프) 이라 lsof 가 '8080 잡고 있는 게 뭐?', '누가 이 디스크 열어서 unmount 안 돼?' 류 질문에 답.

일상 레시피

  • lsof -i :8080 — 8080 listen 또는 연결.
  • lsof -i TCP:LISTEN — 모든 TCP listener.
  • lsof -nP -iTCP -sTCP:LISTEN — 숫자 IP/포트 (DNS 안 함, 빠름).
  • lsof /Volumes/Backup — 그 볼륨 잡고 있는 거.
  • lsof -p PID — 프로세스가 들고 있는 모든 fd.
  • lsof -u $USER — 본인 사용자의 파일.
  • lsof | grep deleted — unlink 됐지만 open 상태인 파일 ('지웠는데 디스크 full' 의 주범).

고전 사건들

  1. 포트 이미 사용 중. lsof -i :3000 으로 PID 확인 → 죽은 dev 서버 kill.
  2. unmount 안 됨. lsof /Volumes/Disk 로 누가 잡고 있는지 → 닫기.
  3. df 는 full, du 는 작음. lsof | grep deleted 가 unlink 된 파일 잡은 프로세스 찾기 → 재시작 시 해제.

모던 대안

Linux 의 sslsof -i 의 많은 부분 대체. macOS 는 여전히 lsof. 어쨌든 alias: alias ports='lsof -nP -iTCP -sTCP:LISTEN'ports 가 '뭐 listen 중?' 의 한 단어 답.

Code

포트 잡고 있는 거 찾기·bash
lsof -i :3000
lsof -nP -iTCP -sTCP:LISTEN | head
alias ports='lsof -nP -iTCP -sTCP:LISTEN' >> ~/.zshrc

External links

Exercise

lsof -nP -iTCP -sTCP:LISTEN 실행. 각 listener 식별 — Pippa, Spotify, Vite 등. 빠른 listener: nc -l 9999 &. lsof -i :9999 로 확인. kill %1 로 종료.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.