hướng dẫn sinh tồn lsof [đã đóng]


104

lsof là một tiện ích dòng lệnh ngày càng mạnh mẽ cho các hệ thống unix. Nó liệt kê các tệp đang mở, hiển thị thông tin về chúng. Và vì hầu hết mọi thứ đều là tệp trên hệ thống unix, lsof có thể cung cấp cho sysadmins rất nhiều dữ liệu chẩn đoán hữu ích.

Một số cách phổ biến và hữu ích nhất để sử dụng lsof là gì và các công tắc dòng lệnh nào được sử dụng cho việc đó?

Câu trả lời:


119

Để hiển thị tất cả các mạng liên quan đến một mạng cụ thể port:

lsof -iTCP -i :port
lsof -i :22

Để hiển thị kết nối với một máy chủ cụ thể, hãy sử dụng @host

lsof -i@192.168.1.5

Hiển thị các kết nối dựa trên máy chủ và cổng bằng @host:port lsof -i@192.168.1.5: 22

grepping cho LISTENhiển thị cổng nào hệ thống của bạn đang chờ kết nối:

lsof -i| grep LISTEN

Hiển thị những gì một người dùng nhất định đã mở bằng cách sử dụng -u:

lsof -u daniel

Xem các tệp và kết nối mạng mà lệnh đang sử dụng -c

lsof -c syslog-ng

Công -ptắc cho phép bạn xem ID quy trình nhất định đang mở, điều này rất tốt cho việc tìm hiểu thêm về các quy trình chưa biết:

lsof -p 10075

Các -tlợi nhuận tùy chọn chỉ là mộtPID

lsof -t -c Mail

Sử dụng các tùy chọn -t-ccùng nhau, bạn có thể HUPxử lý

kill -HUP $(lsof -t -c sshd)

Bạn cũng có thể sử dụng -twith -uđể hủy mọi thứ mà người dùng đã mở

kill -9 $(lsof -t -u daniel)


Một cách hay là sử dụng cheat gem nếu bạn sử dụng Ruby. Nó chỉ thuận tiện, do cộng đồng CLI hướng tới để lừa đảo nhiều tiện ích (không phụ thuộc vào ngôn ngữ). Hãy thử nó .
Kedar Mhaswade

25
lsof -i :port 

sẽ cho bạn biết chương trình nào đang nghe trên một cổng cụ thể.


1
Nó không giới hạn ở "lắng nghe", vì vậy nếu bạn chỉ định lsof -i :8080và bạn có một loạt các quy trình kết nối với proxy trên cổng 8080, bạn cũng sẽ nhận được những quy trình đó.
Matt Byrne

14
lsof +D /some/directory

Sẽ hiển thị đệ quy tất cả các tệp được mở trong một thư mục. + d chỉ cho cấp cao nhất.

Điều này hữu ích khi bạn có% chờ đợi cao cho IO, tương quan để sử dụng trên một FS cụ thể và muốn xem quy trình nào đang nhai io của bạn.


13

lsof -isẽ cung cấp danh sách các ổ cắm mạng mở. Các -ntùy chọn sẽ ngăn tra cứu DNS, đó là hữu ích khi kết nối mạng của bạn chậm hoặc không đáng tin cậy.


5
lsof -isẽ chỉ hiển thị cho bạn các ổ cắm mà bạn có quyền truy cập trong không gian tên của mình (và được coi là ổ cắm "internet" thông qua xem xét nội quan, không chỉ bất kỳ loại ổ cắm mạng nào). Nếu không, các tay cầm loại 'sock' sẽ không hiển thị trong danh sách.
Nick Bastin

13

Xem những tệp nào mà một ứng dụng hoặc daemon đang chạy đã mở:

lsof -p pid

Trong đó pid là ID tiến trình của ứng dụng hoặc daemon.


10
lsof +f -- /mountpoint

liệt kê các quy trình sử dụng tệp trên mount được gắn tại / mountpoint. Đặc biệt hữu ích để tìm (các) quy trình đang sử dụng thanh USB hoặc CD / DVD được gắn kết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.