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: Ֆայլի անունը կամ ցանցային հասցեն.