웹정보

lsof (list of open file) - 유닉스 명령어

quantumcode 2024. 6. 18. 17:18
728x90

cli환경에서 기존 프로세서 종료 방법 :

lisof 도음내용:

lsof 4.91

 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/

 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ

 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man

 usage: [-?abhlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]

 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]] [-p s]

 [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]

Defaults in parentheses; comma-separated set (s) items; dash-separated ranges.

  -?|-h list help          -a AND selections (OR)     -b avoid kernel blocks

  -c c  cmd c ^c /c/[bix]  +c w  COMMAND width (9)    +d s  dir s files

  -d s  select by FD set   +D D  dir D tree *SLOW?*   -i select IPv[46] files

  -l list UID numbers      -n no host names           -N select NFS files

  -o list file offset      -O no overhead *RISKY*     -P no port names

  -R list paRent PID       -s list file size          -t terse listing

  -T disable TCP/TPI info  -U select Unix socket      -v list version info

  -V verbose search        +|-w  Warnings (+)         -X file descriptor table only

  -- end option scan     

  +f|-f  +filesystem or -file names     +|-f[cgG] Ct flaGs 

  -F [f] select fields; -F? for help  

  +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0)

  +|-M   portMap registration (-)       -o o   o 0t offset digits (8)

  -p s   exclude(^)|select PIDs         -S [t] t second stat timeout (15)

  -T fqs TCP/TPI Fl,Q,St (s) info

  -g [s] exclude(^)|select and print process group IDs

  -i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]

  +|-r [t[m<fmt>]] repeat every t seconds (15);  + until no files, - forever.

       An optional suffix to t is m<fmt>; m must separate t from <fmt> and

      <fmt> is an strftime(3) format for the marker line.

  -s p:s  exclude(^)|select protocol (p = TCP|UDP) states by name(s).

  -u s   exclude(^)|select login|UID set s

  -x [fl] cross over +d|+D File systems or symbolic Links

  names  select named files or files on named file systems

Anyone can list all files; /dev warnings disabled; kernel ID check disabled.

 

PID (Process ID)는 프로세스를 고유하게 식별하는 숫자입니다. 각 프로세스는 운영 체제에서 고유한 PID를 부여받으며, 이를 통해 프로세스 간의 상호작용이 가능해집니다. PID는 프로세스 관리, 디버깅, 리소스 모니터링 등에 사용됩니다. 예를 들어, 특정 포트에서 실행 중인 프로세스를 찾거나 종료할 때 PID를 활용합니다. 

 

 

맥환경에서 

 

PID 확인하기 : lsof -t -i : 3000

프로세서 종료하기:  kill -9 PID값

 

윈도우환경에서

PID 확인하기 : netstat -ano :  finstr:3000

프로세서 종료하기:  taskkill  |F |PID값

 

 

추가 알아두면 좋을 내용 :

  1. 포트별 네트워크 연결 확인:
    • lsof -i :80 명령은 포트 80에서 열려 있는 모든 네트워크 연결을 보여줍니다.
    • 출력 예시:
      COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      nginx   1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
      nginx   1234 root 7u IPv6 12346 0t0 TCP *:http (LISTEN)
      
  2. 특정 사용자가 열어 둔 파일 확인:
    • lsof -u <사용자> 명령은 특정 사용자가 열어 둔 모든 파일을 보여줍니다.
    • 예시:
      COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      bash    1234 user cwd DIR 8,1 4096 1234 /home/user
      bash    1234 user rtd DIR 8,1 4096 1234 /
      
  3. 특정 프로세스의 열린 파일 확인:
    • lsof -p <프로세스ID> 명령은 특정 프로세스가 열어 둔 파일을 보여줍니다.
    • 예시:
      COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      bash    1234 user cwd DIR 8,1 4096 1234 /home/user
      bash    1234 user rtd DIR 8,1 4096 1234 /
      
  4. 특정 명령어로 실행 중인 모든 프로세스의 파일 확인:
    • lsof -c <명령어> 명령은 특정 명령어로 실행 중인 모든 프로세스가 열어 둔 파일을 보여줍니다.
    • 예시:
      COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      nginx   1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
      nginx   1234 root 7u IPv6 12346 0t0 TCP *:http (LISTEN)
      

주의사항:

  • 슈퍼 유저 권한으로 실행해야 합니다.
  • 실행 시간은 파일 시스템 크기에 따라 다를 수 있습니다.

'웹정보' 카테고리의 다른 글

멘탈모델 조사  (0) 2024.10.04
VScode 단축키 정리  (1) 2023.07.16
tag ranking 정보 확인 사이트  (0) 2023.03.19
웹프로그래밍 언어 랭킹  (0) 2023.02.16
싱글 페이지 애플리케이션(single-page application, SPA)  (0) 2022.06.03