Ievads Lsof

Ievads Lsof

Operētājsistēmā Linux daudzi objekti tiek uzskatīti par failiem neatkarīgi no tā, vai objekts patiesībā ir fails, ierīce, direktorijs vai ligzda. Faila uzskaitīšana ir vienkārša, tam ir iebūvēts apvalks ls. Bet ko darīt, ja lietotājs vēlas redzēt, kurus failus pašlaik atver tīmekļa servera process? Vai arī, ja lietotājs vēlas uzzināt, kuri faili tiek atvērti noteiktā direktorijā? Tas ir vieta, kur lsofspēlē. Iedomājieties lsoflsar pievienošanu "atvērtie faili".

Lūdzu, ņemiet vērā, ka, lai gan BSD šim darbam ir cita lietderība, fstat, vairākām citām Unix versijām (piemēram, Solaris) ir arī lsof. Opcijas un karodziņi citās platformās atšķiras, kā arī izvades izskats, taču kopumā šajā rakstā sniegtajām zināšanām vajadzētu būt piemērojamām arī tām.

Vispirms apskatīsim lsofizvades formātu un to, kā tas ir jālasa. Parastā izvade lsofbez parametriem būtu līdzīga šādai. Tas ir apgriezts lasāmības labad.

COMMAND    PID  TID       USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
init         1            root  cwd       DIR              254,1      4096          2 /
init         1            root  rtd       DIR              254,1      4096          2 /
init         1            root  txt       REG              254,1     36992    7077928 /sbin/init
init         1            root  mem       REG              254,1     14768    7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init         1            root  mem       REG              254,1   1603600    7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init         1            root  mem       REG              254,1    126232    7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init         1            root  mem       REG              254,1    261184    7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init         1            root  mem       REG              254,1    136936    7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init         1            root   10u     FIFO               0,14       0t0       4781 /run/initctl

Šīs kolonnas nozīmē:

  • KOMANDA — process, kuram pieder atvērts fails, šajā piemērā viss ir saistīts ar init.
  • PID — minētā procesa procesa identifikācijas numurs.
  • LIETOTĀJS — lietotājs, kura pakļautībā notiek process. Attiecībā uz init, tas ir gandrīz vienmēr root.
  • FD — faila faila deskriptors, visizplatītākais ir:
    • cwd- Pašreizējais darba direktorijs (iespējams, pamanīsit līdzību ar pwdkomandu, kas drukā pašreizējo darba direktoriju).
    • rtd - procesa saknes direktorijs.
    • txt- A text file, tas var nozīmēt ar procesu saistītu konfigurācijas failu vai ar procesu saistīto (vai tam piederošo) "avota kodu".
    • mem - Tā sauktais "atmiņas kartēšanas fails", kas nozīmē virtuālās atmiņas (lasīt: RAM) segmentu, kas ir piešķirts failam.
    • Skaitlis — cipars apzīmē faktisko faila deskriptoru, rakstzīme aiz cipara ir veids, kādā fails tiek atvērts:
    • r - Izlasi.
    • w - Raksti.
    • u - Lasi un raksti.
  • TIPS — norāda faktisko faila veidu, visizplatītākie ir:
    • REG - Parasts fails.
    • DIR - Katalogs.
    • FIFO - Pirmais iekšā, pirmais ārā.
  • IERĪCE — tās ierīces galvenais un mazākais numurs, kurā atrodas fails.
  • IZMĒRS — faila lielums baitos.
  • NODE — faila inoda numurs.
  • NOSAUKUMS — faila nosaukums.

Pagaidām tas varētu būt nedaudz satriecoši, taču, ja strādājat ar lsofdažām reizēm, tas ātri iegrims jūsu smadzenēs.

Kā minēts iepriekš, izlaide lsofšeit ir saīsināta. Bez jebkādiem argumentiem vai filtriem lsofrada simtiem izvades rindu, kas jūs tikai apmulsīs.

Šīs problēmas risināšanai ir divas pamata pieejas:

  • Izmantojiet vienu vai vairākas lsofkomandrindas opcijas, lai sašaurinātu rezultātus.
  • Izvadiet izvadi caur, piemēram, grep.

Lai gan pēdējā iespēja var izklausīties ērtāk, jo jums nav jāiegaumē lsofkomandrindas opcijas, tā parasti nav tik elastīga un efektīva, tāpēc mēs paliksim pie pirmās.

Iedomāsimies, ka vēlaties atvērt failu ar savu iecienītāko teksta redaktoru un teksta redaktors norāda, ka to var atvērt tikai lasīšanas režīmā, jo tam jau piekļūst cita programma. lsofpalīdzēs jums noskaidrot, kurš ir vainīgais:

lsof /path/to/your/file

Tas radīs līdzīgu izvadi:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
vim 2679 root    5w   REG  254,1   121525 6035622 /root/lsof.txt

Acīmredzot jūs aizmirsāt aizvērt un vecāka sesija! Ļoti līdzīga problēma rodas, mēģinot atvienot NFS koplietojumu un paziņot, umountka to nevar izdarīt, jo kaut kas joprojām piekļūst pievienotajai mapei. Atkal, lsofvar palīdzēt noteikt vainīgo:

lsof +D /path/to/your/directory/

Ievērojiet beigu slīpsvītru, tas ir svarīgi. Pretējā gadījumā lsoftiks pieņemts, ka jūs domājat parastu failu. Neļaujiet sevi mulsināt ar +karoga priekšā — tajā lsofir tik daudz komandrindas opciju, kas nepieciešamas +papildus biežāk sastopamajām -. Izvade izskatītos šādi:

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
mocp    5637  music    4r   REG   0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg

Tas nozīmē, ka process mocpar PID 5637, kas pieder lietotājam, musicir atvēris failu ar nosaukumu RMS_GNU_SONG.ogg. Tomēr pat pēc šī procesa aizvēršanas joprojām pastāv problēma — NFS sējumu nevar atvienot.

lsofir -ckarodziņš, kas parāda atvērto failu patvaļīgu procesa nosaukumu.

lsof -c mocp

Tas radītu izvadi, kas izskatītos šādi:

mocp    9383  music    4r   REG   0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg

Šajā piemērā ir vēl viens darbības gadījums mocp, kas neļauj atvienot koplietojumu. Pēc šī procesa izslēgšanas vēlaties pārliecināties, vai lietotājam musicnav atvērti citi potenciāli problemātiski faili. lsofir -ukarodziņš, kas parāda konkrēta lietotāja atvērtus failus. Atcerieties, ka fails ne vienmēr ir tikai parasts fails jūsu cietajā diskā!

lsof -u music

Varat arī nodot vairākus lietotājus, atdalot tos ar komatiem:

lsof -u music,moremusic

Svarīga piezīme par noklusēto uzvedību lsof: rezultāti ir OR balstītas, kas nozīmē, ka jūs redzat failu rezultātus atvērtas ar procesiem, kas pieder vai nu lietotājs musicvai lietotājs moremusic. Ja vēlaties redzēt rezultātus, kas atbilst abiem lietotājiem piederošiem procesiem, jums ir jānodod karodziņa -a:

lsof -au music, moremusic

Tā kā abi lietotāji ir grupā musicusers, varat arī uzskaitīt failus, pamatojoties uz grupu:

lsof -g musicusers

Varat arī apvienot komandrindas karogus:

lsof -u music,moremusic -c mocp

or

lsof -u ^music +D /home/Music

Pēdējā rindā mēs pievienojām vēl vienu īpašu karogu - ^, kas apzīmē loģisku NOT . Ja pēc šīs komandas palaišanas izvade ir tukša, atvienošana, visticamāk, būs veiksmīga.

Iepriekšējos piemēros mēs galvenokārt apskatījām parastos failus. Kā ar rozetēm un tīkla savienojumiem?

Lai uzskaitītu visus pašreizējos tīkla savienojumus, lsofir -ikarodziņa:

lsof -i

Rezultāts izskatās līdzīgs tam, ko esam redzējuši līdz šim...

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
owncloud  3509  myuser   25u  IPv4  44946      0t0  TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox   3612  myuser   82u  IPv4  49663      0t0  TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh       3784  myuser    3u  IPv4  10437      0t0  TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget      4140  myuser    3w  IPv4  45586      0t0  TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)

... izņemot vienu atšķirību: failu nosaukumu vai direktoriju vietā kolonnā NAMEtagad tiek rādīta savienojuma informācija. Katrs savienojums sastāv no šādām daļām:

  • Protokols.
  • Vietējais saimniekdatora nosaukums.
  • Savienojuma avota ports.
  • Galamērķa DNS nosaukums.
  • Galamērķa osta.
  • Savienojuma statuss.

Tāpat kā ar daudzām citām rīku, varat atteikties no atrisināt DNS vārdu un ostu ( -nun -P, attiecīgi). Karogam ir -inepieciešami papildu parametri. Jūs varat norādīt, vai, lai parādītu tcp, udpvai icmpsavienojumi vai noteiktas porti:

lsof -i :25
or
lsof -i :smtp

Atkal parametrus var apvienot. Nākamais piemērs...

lsof -i tcp:80

... parādīs tikai TCP savienojumus, izmantojot portu 80. Varat arī apvienot to ar opcijām, kuras jau zināt no "klasiskajiem" failiem:

lsof -a -u httpd -i tcp

Tas parādīs visus lietotāja atvērtos TCP savienojumus httpd. Ņemiet vērā -akarogu, kas maina noklusējuma darbību lsof(kā minēts iepriekš). Tāpat kā lielākajā daļā komandrindas rīku, varat iedziļināties ļoti dziļi. Tālāk tiks parādīti tikai tie TCP savienojumi, kuru statuss ir "IZVEIDOTS":

lsof -i -s TCP:ESTABLISHED

Šajā brīdī jums ir jābūt pamata izpratnei par lsofdarbību, kā arī dažiem izplatītiem lietošanas gadījumiem. Papildu lasīšanai skatiet lsofsavas sistēmas manlapu .


Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Ievads Lets Encrypt ir sertifikācijas iestādes pakalpojums, kas piedāvā bezmaksas TLS/SSL sertifikātus. Instalēšanas procesu vienkāršo Certbot,

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Vai izmantojat citu sistēmu? Kas ir Tekkit Classic? Tekkit Classic ir modifikācija spēlei, kuru visi zina un mīl; Minecraft. Tajā ir daži no ver

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Jekyll emuāra izveide Ubuntu 16.04

Jekyll emuāra izveide Ubuntu 16.04

Vai izmantojat citu sistēmu? Jekyll ir lieliska alternatīva WordPress emuāru rakstīšanai vai satura kopīgošanai. Tam nav nepieciešamas nekādas datu bāzes, un tas ir ļoti vienkārši

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

PHP un saistītās pakotnes ir visbiežāk izmantotie komponenti, izvietojot tīmekļa serveri. Šajā rakstā mēs uzzināsim, kā iestatīt PHP 7.0 vai PHP 7.1 o

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

1. Virtualmin/Webmin Virtualmin ir jaudīgs un elastīgs tīmekļa mitināšanas vadības panelis Linux un UNIX sistēmām, pamatojoties uz labi zināmo atvērtā pirmkoda tīmekļa bāzi

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii ir PHP ietvars, kas ļauj ātrāk un vienkāršāk izstrādāt lietojumprogrammas. Yii instalēšana Ubuntu ir vienkārša, jo jūs to uzzināsit precīzi

Ekrāna izmantošana Ubuntu 14.04

Ekrāna izmantošana Ubuntu 14.04

Ekrāns ir lietojumprogramma, kas ļauj vairākkārt izmantot termināļa sesijas vienā logā. Tas ļauj simulēt vairākus termināļa logus, kur tas ma

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Logrotate izmantošana žurnālfailu pārvaldībai

Logrotate izmantošana žurnālfailu pārvaldībai

Ievads Logrotate ir Linux utilīta, kas vienkāršo žurnālfailu administrēšanu. Tas parasti darbojas reizi dienā, izmantojot cron uzdevumu, un pārvalda žurnālu bāzi

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? Red5 ir atvērtā pirmkoda multivides serveris, kas ieviests Java un ļauj palaist Flash vairāku lietotāju lietojumprogrammas, piemēram, tiešraides straumēšanu.

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk