Middle
როგორ გავიგოთ, რომელი ფაილებით მუშაობს პროგრამა Linux-ში ამჟამად?
sobes.tech AI
პასუხი AI-სგან
lsof ინსტრუმენტის გამოყენება (გახსნილი ფაილების სია).
# `lsof`-ის ძირითადი გამოყენება, ყველა გახსნილი ფაილის სიის ჩვენება
lsof
საკონკრეტო პროცესის მიერ გახსნილი ფაილების სიის მიღება (PID-ის მიხედვით):
# გამოიტანეთ გახსნილი ფაილების სია PID 1234 პროცესისთვის
lsof -p 1234
საკონკრეტო ბრძანების მიერ გახსნილი ფაილების სიის მიღება (სახელის მიხედვით):
# გამოიტანეთ გახსნილი ფაილების სია ყველა პროცესისთვის სახელით "nginx"
lsof -c nginx
საკონკრეტო მომხმარებლის მიერ გახსნილი ფაილების სიის მიღება:
# გამოიტანეთ გახსნილი ფაილების სია მომხმარებლის "user1"თვის
lsof -u user1
lsof-ის დამატებითი ფლაგები:
| ფლაგი | აღწერა |
|---|---|
-i |
გამოაქვს ქსელური კავშირები (სოკეტები) |
-n |
IP მისამართებს არ გარდაქმნის ჰოსტნეიმებს |
-P |
პორტებს არ გარდაქმნის სერვისის სახელებად |
-r [N] |
lsof-ს ყოველ N წამში ხელახლა იწყებს |
მაგალითი კონკრეტული ფაილის გამოყენების პროცესის განსაზღვრა:
# რა პროცესი იყენებს ფაილს /var/log/syslog?
lsof /var/log/syslog
lsof-ის გამოყვანა მოიცავს შემდეგ სვეტებს:
- COMMAND: ბრძანების სახელი, რომელმაც დაიწყო პროცესი.
- PID: პროცესის იდენტიფიკატორი.
- TID: თრედის იდენტიფიკატორი (თუ არის).
- USER: მომხმარებლის სახელი, რომელმაც დაიწყო პროცესი.
- FD: ფაილის დესკრიპტორი.
- TYPE: ფაილის ტიპი (DIR, REG, FIFO, CHR, BLK, SOCK, და ა.შ.).
- DEVICE: მოწყობილობის იდენტიფიკატორი.
- SIZE/OFF: ფაილის ზომა ან გადახრა.
- NODE: inode ნომერი.
- NAME: ფაილის სახელი ან ქსელური მისამართი.