Sobes.tech
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.