Lsofi tutvustus

Lsofi tutvustus

Linuxis loetakse paljusid objekte failiks, olenemata sellest, kas objekt on tegelikult fail, seade, kataloog või pesa. Faili loetlemine on lihtne, selle jaoks on kest sisse ehitatud ls. Aga mis siis, kui kasutaja soovib näha, milliseid faile veebiserveri protsess praegu avab? Või kui see kasutaja soovib teada saada, millised failid teatud kataloogis avatakse? Siin lsoftulebki mängu. Kujutage ette lsofnagu a, lsmillele on lisatud "avatud failid".

Pange tähele, et kuigi BSD-del on selle töö jaoks erinev utiliit fstat, on ka mitmel teisel Unixi maitsel (näiteks Solarisel) lsof. Valikud ja lipud on teistel platvormidel erinevad, samuti väljundi välimus, kuid üldiselt peaksid selles artiklis olevad teadmised kehtima ka nende puhul.

Kõigepealt vaatame lsofväljundi vormingut ja selle lugemist. Tavaline väljund lsofilma parameetriteta sarnaneks järgmisega. Seda on loetavuse huvides kärbitud.

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

Need veerud tähendavad järgmist:

  • KÄSK – protsess, kuhu avatud fail kuulub, selles näites on kõik seotud init.
  • PID – nimetatud protsessi protsessi identifitseerimisnumber.
  • KASUTAJA – kasutaja, kelle alluvuses protsess töötab. Sest initsee on peaaegu alati root.
  • FD – faili failideskriptor, kõige levinum on:
    • cwd- Praegune töökataloog (võite märgata sarnasust pwdkäsuga, mis prindib praeguse töökataloogi).
    • rtd - protsessi juurkataloog.
    • txt- A text file, see võib tähendada protsessiga seotud konfiguratsioonifaili või protsessiga seotud (või protsessiga kuuluvat) "lähtekoodi".
    • mem - Niinimetatud "mälu vastendatud fail", mis tähendab virtuaalmälu (loe: RAM) segmenti, mis on failile määratud.
    • Arv – number tähistab tegelikku faili deskriptorit, numbri järel olev märk on režiim, milles fail avatakse:
    • r - Loe.
    • w - Kirjutage.
    • u - Loe ja kirjuta.
  • TÜÜP – määrab faili tegeliku tüübi, kõige levinumad on:
    • REG - Tavaline fail.
    • DIR - Kataloog.
    • FIFO - Esimene sisse, esimene välja.
  • DEVICE – faili hoidva seadme põhi- ja kõrvalnumber.
  • SUURUS – faili suurus baitides.
  • NODE – faili inoodi number.
  • NAME – faili nimi.

See võib praegu olla pisut üle jõu käiv, kuid kui töötate lsofpaar korda, vajub see kiiresti teie ajusse.

Nagu eespool mainitud, lsofon siin väljundit lühendatud. Ilma argumentide või filtriteta lsoftoodab sadu väljundridu, mis ajab teid ainult segadusse.

Selle probleemi lahendamiseks on kaks peamist lähenemisviisi:

  • Kasutage lsoftulemuste kitsendamiseks üht või mitut käsurea valikut.
  • Torustage väljund näiteks läbi grep.

Kuigi viimane valik võib tunduda mugavam, kuna te ei pea lsofkäsurea valikuid meelde jätma , pole see üldiselt nii paindlik ja tõhus, seega jääme esimese juurde.

Kujutagem ette, et soovite avada faili oma lemmiktekstiredaktoriga ja tekstiredaktor ütleb teile, et seda saab avada ainult kirjutuskaitstud režiimis, kuna mõni teine ​​programm juba kasutab seda. lsofaitab teil välja selgitada, kes on kurjategija:

lsof /path/to/your/file

See annab sarnase väljundi:

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

Ilmselt unustasite sulgeda ja vanema seansi! Väga sarnane probleem umountilmneb siis, kui proovite NFS-i ühiskasutusest lahti ühendada ja teatatakse, et seda ei saa teha, kuna miski pääseb ühendatud kausta juurde. Jällegi lsofvõib aidata teil süüdlast tuvastada:

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

Pange tähele kaldkriipsu, see on oluline. Vastasel juhul lsofeeldatakse, et mõtlete tavalist faili. Ärge laske end segadusse ajada +lipu ees - lsofsellel on nii palju käsurea valikuid, mida see vajab +lisaks tavalisematele -. Väljund näeks välja selline:

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

See tähendab, et kasutajale kuuluv mocpPID-ga protsess on avanud faili nimega . Kuid isegi pärast selle protsessi sulgemist on endiselt probleem – NFS-i köidet ei saa lahti ühendada.5637musicRMS_GNU_SONG.ogg

lsofon -clipp, mis kuvab failid, mis on avatud suvalise protsessi nimega.

lsof -c mocp

See annaks välja sellise väljundi:

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

Selles näites on veel üks mocpkäivitamise eksemplar, mis takistab teil ühiskasutuse lahtiühendamist. Pärast selle protsessi sulgemist soovite veenduda, et kasutajal musicpole avatud muid potentsiaalselt probleemseid faile. lsofsellel on -ulipp konkreetse kasutaja avatud failide kuvamiseks. Pidage meeles, et fail ei ole alati tavaline fail teie kõvakettal!

lsof -u music

Samuti saate mööduda mitmest komadega eraldatud kasutajast:

lsof -u music,moremusic

Oluline märkus vaiketoimingud lsof: tulemused on OR baasil, mis tähendab, et näed faili tulemused avatud protsesse, mis kuuluvad kas kasutaja musicvõi kasutaja moremusic. Kui soovite näha tulemusi, mis vastavad mõlemale kasutajale kuuluvatele protsessidele, peate edastama lipu -a:

lsof -au music, moremusic

Kuna mõlemad kasutajad on rühmas musicusers, saate faile ka rühma alusel loetleda:

lsof -g musicusers

Samuti saate kombineerida käsurea lippe:

lsof -u music,moremusic -c mocp

or

lsof -u ^music +D /home/Music

Viimasele reale lisasime veel ühe spetsiaalse lipu - ^, mis tähistab loogilist EI . Kui väljund on pärast selle käsu käivitamist tühi, on lahtiühendamine tõenäoliselt edukas.

Eelmistes näidetes vaatlesime enamasti tavafaile. Kuidas on lood pistikupesade ja võrguühendustega?

Kõigi praeguste võrguühenduste loendil lsofon -ilipp:

lsof -i

Väljund näeb välja sarnane sellega, mida oleme seni näinud...

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)

... välja arvatud üks erinevus: failinimede või kataloogide asemel kuvatakse veerus NAMEnüüd ühenduse teave. Iga ühendus koosneb järgmistest osadest:

  • Protokoll.
  • Kohalik hostinimi.
  • Ühenduse lähteport.
  • Sihtkoha DNS-nimi.
  • Sihtsadam.
  • Ühenduse olek.

Nagu paljud teised vahendid, siis võib loobuda lahendamisel DNS nimed ja sadamate ( -nja -Pvastavalt). Lipp -ivõtab täiendavaid parameetreid. Saate määrata, kas näidata või mitte tcp, udpvõi icmpühendused või teatud sadamate:

lsof -i :25
or
lsof -i :smtp

Jällegi saab parameetreid kombineerida. Järgmine näide...

lsof -i tcp:80

... kuvab teile ainult TCP-ühendusi, mis kasutavad porti 80. Samuti võite selle kombineerida suvanditega, mida juba "klassikalistest" failidest tead:

lsof -a -u httpd -i tcp

See näitab kõiki kasutaja avatud TCP-ühendusi httpd. Pange tähele -alippu, mis muudab vaikekäitumist lsof(nagu varem mainitud). Nagu enamiku käsureatööriistade puhul, võite minna väga sügavale. Järgnevalt kuvatakse ainult need TCP-ühendused, mille olek on "KEHTUD":

lsof -i -s TCP:ESTABLISHED

Siinkohal peaksid teil olema põhiteadmised selle lsoftoimimise kohta ja mõned levinud kasutusjuhtumid. Täiendavaks lugemiseks vaadake lsofoma süsteemi manikett .


Seadistage Cacti Debian Jessies

Seadistage Cacti Debian Jessies

Sissejuhatus Cacti on avatud lähtekoodiga seire- ja graafikutööriist, mis põhineb täielikult RRD andmetel. Cacti kaudu saate jälgida peaaegu igat tüüpi seadmeid

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Sissejuhatus Lets Encrypt on sertifikaatide väljastamise teenus, mis pakub tasuta TLS/SSL-sertifikaate. Paigaldusprotsessi lihtsustab Certbot,

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Kas kasutate teistsugust süsteemi? Mis on Tekkit Classic? Tekkit Classic on modifikatsioonipakett mängule, mida kõik teavad ja armastavad; Minecraft. See sisaldab mõningaid ver

Seadistage iRedMail Debian Wheezys

Seadistage iRedMail Debian Wheezys

Kas kasutate teistsugust süsteemi? See õpetus näitab teile, kuidas installida grupitöö iRedMail Debian Wheezy värskele installile. Peaksite kasutama servi

Jekylli ajaveebi loomine Ubuntus 16.04

Jekylli ajaveebi loomine Ubuntus 16.04

Kas kasutate teistsugust süsteemi? Jekyll on suurepärane alternatiiv WordPressile ajaveebi pidamiseks või sisu jagamiseks. See ei nõua andmebaase ja see on väga lihtne

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP ja sellega seotud paketid on veebiserveri juurutamisel kõige sagedamini kasutatavad komponendid. Selles artiklis õpime, kuidas seadistada PHP 7.0 või PHP 7.1 o

Kuidas installida CentOS-i Squid Proxy

Kuidas installida CentOS-i Squid Proxy

Squid on populaarne tasuta Linuxi programm, mis võimaldab teil luua edastamise veebipuhverserveri. Selles juhendis näete, kuidas installida Squid CentOS-i, et teid pöörata

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Sissejuhatus Lighttpd on Apache'i hark, mille eesmärk on olla palju vähem ressursimahukas. See on kerge, sellest ka oma nimi, ja seda on üsna lihtne kasutada. Installin

Kolm tasuta serveri juhtpaneeli (kiire installimine)

Kolm tasuta serveri juhtpaneeli (kiire installimine)

1. Virtualmin/Webmin Virtualmin on võimas ja paindlik veebimajutuse juhtpaneel Linuxi ja UNIX süsteemidele, mis põhineb tuntud avatud lähtekoodiga veebibaasil

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii on PHP raamistik, mis võimaldab teil rakendusi kiiremini ja lihtsamalt arendada. Yii installimine Ubuntule on lihtne, nagu saate täpselt teada

Ekraani kasutamine Ubuntu 14.04-s

Ekraani kasutamine Ubuntu 14.04-s

Ekraan on rakendus, mis võimaldab ühes aknas mitut terminaliseanssi kasutada. See võimaldab simuleerida mitut terminali akent, kus see ma

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Logrotate kasutamine logifailide haldamiseks

Logrotate kasutamine logifailide haldamiseks

Sissejuhatus Logrotate on Linuxi utiliit, mis lihtsustab logifailide haldamist. Tavaliselt töötab see kord päevas cron-töö kaudu ja haldab logibaasi

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 on võimas seiresüsteem ja kui seda kasutatakse põhikliendi mudelis, võib see asendada vajaduse NRPE-põhiste seirekontrollide järele. Meister-klient

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Kas kasutate teistsugust süsteemi? Red5 on Java-s realiseeritud avatud lähtekoodiga meediumiserver, mis võimaldab käivitada mitme kasutajaga Flashi rakendusi, näiteks otseülekandeid.

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit