Phát triển bởi | Vic Abell |
---|---|
Phiên bản ổn định | 4.84
/ 29 tháng 7 năm 2010 |
Kho mã nguồn | |
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".
Lệnh sau liệt kê các socket trên Unix: lsof -U