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.

Skildu eftir athugasemd

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.

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.

Þ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.

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