Kynning á Lsof

Kynning á Lsof

Undir Linux eru margir hlutir álitnir skrár, óháð því hvort hluturinn er í raun skrá, tæki, skrá eða fals. Það er auðvelt að skrá skrá, það er innbyggð skel lstil þess. En hvað ef notandi vildi sjá hvaða skrár eru opnaðar af vefþjónsferlinu? Eða ef sá notandi vildi komast að því hvaða skrár eru opnaðar í ákveðinni möppu? Þar lsofkemur til greina. Ímyndaðu þér lsofsem lsmeð því að bæta við "opnum skrám".

Vinsamlegast athugaðu að þó að BSD-tækin hafi annað tól fyrir þetta starf, þá fstathafa nokkrir aðrir bragðtegundir af Unix (Solaris, til dæmis) einnig lsof. Valmöguleikarnir og fánarnir eru mismunandi á hinum kerfunum, sem og útlit úttaksins, en almennt ætti þekkingin í þessari grein að eiga við um þá líka.

Fyrst skulum við kíkja á lsofúttakssniðið og hvernig það á að lesa það. Venjulegur framleiðsla lsofán breytu myndi líkjast eftirfarandi. Þetta hefur verið klippt fyrir læsileika.

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

Þessir dálkar þýða eftirfarandi:

  • COMMAND - Ferlið sem opin skrá tilheyrir, í þessu dæmi er allt tengt init.
  • PID - Auðkennisnúmer ferlisins.
  • NOTANDI - Notandinn sem ferlið keyrir undir. Því initþað er næstum alltaf root.
  • FD - Skráarlýsing skráarinnar, algengasta er:
    • cwd- Núverandi vinnuskrá (þú gætir tekið eftir líkingu við pwdskipunina sem prentar núverandi vinnuskrá).
    • rtd - Rótarskrá ferlis.
    • txt- A text file, þetta getur annað hvort þýtt stillingarskrá sem tengist ferlinu eða "frumkóðann" sem tengist (eða tilheyrir) ferlinu.
    • mem - Svokölluð "minniskortuð skrá", það þýðir hluti sýndarminni (les: vinnsluminni) sem hefur verið úthlutað á skrá.
    • Tala - talan táknar raunverulegan skráarlýsingu, stafurinn á eftir númerinu er hátturinn sem skráin er opnuð í:
    • r - Lestu.
    • w - Skrifaðu.
    • u - Lesa og skrifa.
  • TYPE - Tilgreinir raunverulega gerð skráarinnar, þær algengustu eru:
    • REG - Venjuleg skrá.
    • DIR - Skrá.
    • FIFO - Fyrstur inn fyrstur út.
  • TÆKI - Aðal- og aukanúmer tækisins sem geymir skrána.
  • STÆRÐ - Stærð skráarinnar, í bætum.
  • NODE - Inode númer skráarinnar.
  • NAME - Nafn skráarinnar.

Þetta gæti verið svolítið yfirþyrmandi í bili, en ef þú vinnur með lsofnokkrum sinnum mun það fljótt sökkva inn í heilann.

Eins og fyrr segir hefur framleiðsla á lsofstyttist hér. Án nokkurra röka eða sía, lsofframleiðir hundruð línur af framleiðsla sem mun aðeins gera þig ruglaður.

Það eru tvær grundvallaraðferðir til að leysa þetta vandamál:

  • Notaðu einn eða fleiri af lsofskipanalínuvalkostunum til að þrengja niðurstöðurnar.
  • Pípa úttakið í gegnum, til dæmis, grep.

Þó að seinni valkosturinn gæti hljómað þægilegri þar sem þú þarft ekki að leggja á minnið lsofskipanalínuvalkostina, þá er hann almennt ekki eins sveigjanlegur og skilvirkur, svo við höldum okkur við þann fyrsta.

Við skulum ímynda okkur að þú viljir opna skrá með uppáhalds textaritlinum þínum og að textaritillinn segi þér að það sé aðeins hægt að opna hana í skrifvarandi ham vegna þess að annað forrit er nú þegar að opna hana. lsofmun hjálpa þér að komast að því hver gerandinn er:

lsof /path/to/your/file

Þetta mun framleiða úttak svipað þessu:

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

Svo virðist sem þú gleymdir að loka og eldri fundi! Mjög svipað vandamál gerist þegar þú reynir að aftengja NFS-deilingu og umountsegir þér að það geti ekki vegna þess að eitthvað er enn að fá aðgang að uppsettu möppunni. Aftur, lsofgetur hjálpað þér við að bera kennsl á sökudólginn:

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

Taktu eftir skástrikinu, það er mikilvægt. Annars lsofmun gera ráð fyrir að þú meinar venjulega skrá. Ekki vera að rugla saman +fyrir framan fánann - lsofhefur svo marga skipanalínuvalkosti sem þarf +til viðbótar við þá algengustu -. Úttakið myndi líta svona út:

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

Það þýðir að ferlið mocp, með PID 5637, sem tilheyrir notandanum musichefur opnað skrá sem heitir RMS_GNU_SONG.ogg. Hins vegar, jafnvel eftir að því ferli hefur verið lokað, er enn vandamál - ekki er hægt að aftengja NFS hljóðstyrkinn.

lsofer með -cfána sem sýnir skrár sem opnaðar eru handahófskennt ferli nafn.

lsof -c mocp

Það myndi framleiða úttak sem lítur svona út:

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

Í þessu dæmi er annað dæmi um að mocpkeyra, sem kemur í veg fyrir að þú takir hlutinn af. Eftir að hafa lokað því ferli viltu ganga úr skugga um að notandinn musichafi engar aðrar mögulegar erfiðar skrár opnar. lsofer með -ufána til að sýna skrár sem tiltekinn notandi hefur opnað. Mundu að skrá er ekki alltaf bara venjuleg skrá á harða disknum þínum!

lsof -u music

Þú getur líka framhjá nokkrum notendum, aðskilin með kommum:

lsof -u music,moremusic

An Mikilvægt minnispunktur á vanskilaskrá hegðun lsof: niðurstöður eru EÐA undirstaða, sem þýðir að þú verður að sjá skrá niðurstöður opnuð með aðferðum sem eru í eigu annaðhvort notanda musiceða notenda moremusic. Ef þú vildir sjá niðurstöður passa við ferla sem eru í eigu beggja notenda, þá yrðir þú að fara framhjá flagginu -a:

lsof -au music, moremusic

Þar sem báðir notendurnir eru í hópnum musicusersgeturðu líka skráð skrár byggðar á hópnum:

lsof -g musicusers

Þú getur líka sameinað skipanalínuflögg:

lsof -u music,moremusic -c mocp

or

lsof -u ^music +D /home/Music

Í síðustu línu bættum við við öðru sérstöku fána - ^, sem stendur fyrir rökrétt NOT . Ef úttakið er tómt eftir að þessi skipun er keyrð, mun aftengingin líklegast heppnast.

Í fyrri dæmunum skoðuðum við aðallega venjulegar skrár. Hvað með innstungur og nettengingar?

Til að skrá allar núverandi nettengingar lsofhefur -iflaggið:

lsof -i

Úttakið lítur svipað út og við höfum séð hingað til...

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)

... nema einn munur: í staðinn fyrir skráarnöfn eða möppur NAMEsýnir dálkurinn nú upplýsingar um tengingar. Hver tenging samanstendur af eftirfarandi hlutum:

  • Bókun.
  • Staðbundið gestgjafaheiti.
  • Upprunahöfn tengingarinnar.
  • DNS nafn áfangastaðar.
  • Áfangastaðahöfn.
  • Staða tengingarinnar.

Eins og með mörg önnur verkfæri geturðu afþakkað að leysa DNS nöfn og höfn ( -nog -P, í sömu röð). Fáninn -itekur fleiri færibreytur. Þú getur tilgreint hvort sýna eigi tcp, udpeða icmptengingar eða ákveðin tengi:

lsof -i :25
or
lsof -i :smtp

Aftur er hægt að sameina breytur. Eftirfarandi dæmi...

lsof -i tcp:80

... mun aðeins sýna þér TCP tengingar með því að nota tengi 80. Þú getur líka sameinað það með þeim valmöguleikum sem þú þekkir nú þegar úr "klassískum" skrám:

lsof -a -u httpd -i tcp

Þetta mun sýna þér allar TCP tengingar sem notandinn hefur opnað httpd. Athugaðu -afánann, sem breytir sjálfgefna hegðun lsof(eins og fyrr segir). Eins og með flest skipanalínuverkfæri geturðu farið mjög djúpt. Eftirfarandi mun aðeins sýna þér TCP tengingar þar sem ástandið er „STABLISHED“:

lsof -i -s TCP:ESTABLISHED

Á þessum tímapunkti ættir þú að hafa grunnskilning á því hvernig lsofvirkar, ásamt nokkrum algengum notkunartilfellum. Fyrir frekari lestur, skoðaðu handsíðuna lsofá kerfinu þínu.


Settu upp Cacti á Debian Jessie

Settu upp Cacti á Debian Jessie

Inngangur Cacti er opinn vöktunar- og grafatól sem byggir að fullu á RRD gögnum. Í gegnum Cacti geturðu fylgst með næstum hvers kyns tækjum

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Inngangur Lets Encrypt er vottunaryfirvaldsþjónusta sem býður upp á ókeypis TLS/SSL vottorð. Uppsetningarferlið er einfaldað af Certbot,

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Að nota annað kerfi? Hvað er Tekkit Classic? Tekkit Classic er modpack fyrir leikinn sem allir þekkja og elska; Minecraft. Það inniheldur eitthvað af ver

Settu upp iRedMail á Debian Wheezy

Settu upp iRedMail á Debian Wheezy

Að nota annað kerfi? Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á Debian Wheezy. Þú ættir að nota þjóna

Að búa til Jekyll blogg á Ubuntu 16.04

Að búa til Jekyll blogg á Ubuntu 16.04

Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

PHP og tengdir pakkar eru algengustu íhlutirnir þegar vefþjónn er notaður. Í þessari grein munum við læra hvernig á að setja upp PHP 7.0 eða PHP 7.1 o

Hvernig á að setja upp Squid Proxy á CentOS

Hvernig á að setja upp Squid Proxy á CentOS

Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Inngangur Lighttpd er gaffal af Apache sem miðar að því að vera miklu minna auðlindafrekt. Hann er léttur, þess vegna heitir hann, og er frekar einfaldur í notkun. Uppsetning

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

1. Virtualmin/Webmin Virtualmin er öflugt og sveigjanlegt stjórnborð fyrir vefhýsingu fyrir Linux og UNIX kerfi byggt á hinum vel þekkta Open Source vefgrunni

Setja upp Yii forrit á Ubuntu 14.04

Setja upp Yii forrit á Ubuntu 14.04

Yii er PHP ramma sem gerir þér kleift að þróa forrit hraðar og auðveldlega. Uppsetning Yii á Ubuntu er einföld, þar sem þú munt læra nákvæmlega

Notkun Skjár á Ubuntu 14.04

Notkun Skjár á Ubuntu 14.04

Skjár er forrit sem leyfir margs konar notkun flugstöðvarlota innan eins glugga. Þetta gerir þér kleift að líkja eftir mörgum flugstöðvum gluggum þar sem það ma

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Þessi kennsla útskýrir hvernig á að setja upp DNS netþjón með Bind9 á Debian eða Ubuntu. Í gegnum greinina skaltu skipta út-léninu þínu.com í samræmi við það. Á þ

Notkun Logrotate til að stjórna annálaskrám

Notkun Logrotate til að stjórna annálaskrám

Inngangur Logrotate er Linux tól sem einfaldar stjórnun annálaskráa. Það keyrir venjulega einu sinni á dag í gegnum cron-vinnu og stjórnar annálagrunni

Stilla Static Networking og IPv6 á CentOS 7

Stilla Static Networking og IPv6 á CentOS 7

VULTR hefur nýlega gert breytingar á enda þeirra og allt ætti nú að virka vel út úr kassanum með NetworkManager virkt. Ef þú vilt slökkva á

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Icinga2 er öflugt eftirlitskerfi og þegar það er notað í aðal-viðskiptavinamódel getur það komið í stað þörf fyrir NRPE-undirstaða vöktunareftirlit. Húsbóndinn

Settu upp Red5 Media Server á Ubuntu 16.04

Settu upp Red5 Media Server á Ubuntu 16.04

Að nota annað kerfi? Red5 er opinn uppspretta miðlara útfærður í Java sem gerir þér kleift að keyra Flash fjölnotendaforrit eins og straumspilun í beinni

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Í þessari grein munum við sjá hvernig á að setja saman og setja upp Nginx mainline frá opinberum heimildum Nginx með PageSpeed ​​einingunni, sem gerir þér kleift að

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Að nota annað kerfi? Apache Cassandra er ókeypis og opinn uppspretta NoSQL gagnagrunnsstjórnunarkerfi sem er hannað til að veita sveigjanleika, háan

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Að nota annað kerfi? Vanilla forum er opinn uppspretta spjallforrit skrifað í PHP. Það er fullkomlega sérhannaðar, auðvelt í notkun og styður utanaðkomandi

Hvernig á að setja upp Gitea á Debian 9

Hvernig á að setja upp Gitea á Debian 9

Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfhýst útgáfustýringarkerfi knúið af Git. Gitea er skrifað á Golang og er

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira