Middle
Kuidas teada saada, milliste failidega töötab praegu Linuxis programm?
sobes.tech AI
Vastus AI-lt
Kasutades utiliiti lsof (loetud avatud failid).
# Põhiline `lsof` kasutus, et näidata kõiki avatud faile
lsof
Avatud failide nimekirja saamiseks kindla protsessi (PID järgi):
# Näidata avatud faile protsessile, mille PID on 1234
lsof -p 1234
Nimekirja saamiseks kindla käsu (nime järgi):
# Näidata avatud faile kõigile protsessidele nimega "nginx"
lsof -c nginx
Kasutaja poolt avatud failide nimekirja saamiseks:
# Näidata kasutaja "user1" avatud faile
lsof -u user1
Täiendavad lsof lipud:
| Lipud | Kirjeldus |
|---|---|
-i |
Näidata võrgusideid (sokette) |
-n |
Ära muuda IP-aadresse hostinimedes |
-P |
Ära muuda porte teenusnimedes |
-r [N] |
Taaskäivita lsof iga N sekundi järel |
Näide, kuidas määrata, milline protsess kasutab konkreetset faili:
# Milline protsess kasutab faili /var/log/syslog?
lsof /var/log/syslog
lsof väljund sisaldab järgmisi veerge:
- COMMAND: Protsessi käivitamise käsk.
- PID: Protsessi ID.
- TID: Ströödi ID (kui asjakohane).
- USER: Kasutajanimi, kes protsessi käivitas.
- FD: Faili deskriptor.
- TYPE: Faili tüüp (DIR, REG, FIFO, CHR, BLK, SOCK, jne.).
- DEVICE: Seadme identifikaator.
- SIZE/OFF: Faili suurus või nihke väärtus.
- NODE: Inode number.
- NAME: Faili või võrgu aadress.