lsof

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
lsof
Phát triển bởi Vic Abell
Bản mới nhất 4.84
29 tháng 7, 2010 (2010-07-29)
Giấy phép BSD license-compatible[1]
Website http://people.freebsd.org/~abe/

lsof là một lệnh có trong nhiều hệ điều hành tựa Unix ("list open files"), có chức năng xuất ra danh sách tất cả các tập tin đamg được mở và những tiến trình đang mở chúng. Tiện ích này được phát triển và hỗ trợ bởi Vic Abell, phó giám đốc đã về hưu của trung tâm tin học Đại học Purdue.[2]

Các tập tin được mở trong hệ thống bao gồm các tập tin trên đĩa, đường ống, socket mạng và các thiết bị được sử dụng bởi các tiến trình. Một ví dụ cho ứng dụng của chương trình là khi không thể gỡ một ổ đĩa ra khỏi hệ thống vì một số tập tin đang được sử dụng. Chương trình sẽ liệt kê những tệp đang mở và tiến trình nào đang sử dụng chúng.

 # lsof /var
 COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
 syslogd     350     root    5w  VREG  222,5        0 440818 /var/adm/messages
 syslogd     350     root    6w  VREG  222,5   339098   6248 /var/log/syslog
 cron        353     root  cwd   VDIR  222,5      512 254550 /var -- atjobs

Lệnh để xuất ra các cổng đang được một daemon sử dụng:

  # lsof -i -n -P | grep sendmail
  sendmail  31649    root    4u  IPv4 521738       TCP *:25 (LISTEN)

Ta có thể thấy dịch vụ "sendmail" đang chờ kết nối trên cổng "25".

  • -i Liệt kê các IP socket.
  • -n Không phân giải tên máy chủ.
  • -P Không phân giải tên cổng (hiển thị số cổng thay vì tên cổng).

Lệnh sau liệt kê các socket trên Unix: lsof -U

Đọc thêm[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ lsof FAQ, 1.9 Is there an lsof license?
  2. ^ W. Richard Stevens, Bill Fenner, Andrew M. Rudoff (2003), Lập trình mạng Unix: the Sockets networking API, Addison-Wesley Professional, ISBN 9780131411555, ISBN 0131411551 

Liên kết ngoài[sửa | sửa mã nguồn]