Како навести отворене датотеке за процес на Линуку

Водич за коришћење команде 'лсоф' за процес

Ако сте чест корисник Линук или Уник система, сигурно сте чули фразу: „У Линуку је све датотека“. Ово се може категорисати као превелико поједностављење концепта, али се показало да је од велике помоћи да се разуме како функционишу датотеке у Линук систему.

Не мора све што се појављује у Линук окружењу бити датотека. Понекад то може бити процес, може бити посебна датотека која представља информације о хардверу, директоријуме и друге ствари.

Овај водич ће вас провести кроз проналажење свих датотека које су отворене за одређени процес у Линуку.

Увод у лсоф Цомманд

Лепота Линук система је у томе што можете да контролишете и управљате читавим системом преко терминала, под условом да добро познајете команде. Једном када су команде познате, онда сви задаци на терминалу постају цакевалк.

лсоф означава 'Листа отворених датотека‘. Када сазнате дугачку верзију команде, постаје вам веома лако да разумете и користите команду на продуктиван начин.

Тхе лсоф команда приказује листе отворених датотека, утичница и цеви. Можете лако претраживати отворене датотеке помоћу ове команде. Када лсоф команда се користи без икакве опције и приказује све отворене датотеке у односу на активне процесе који су покренути.

Белешка: Обавезно користите судо док извршава команде.

Помоћу лсоф Цомманд

Проучаваћемо излаз лсоф детаљно командовати. Проучите следећу команду.

судо лсоф | мање

Белешка: Ако директно покренемо лсоф команде, излаз ће бити веома велики и могао би да створи забуну да се настави даље. Дакле, овде сам користио лсоф | мање команду ради погодности туторијала.

Излаз:

гаурав@убунту:~$ судо лсоф | мање КОМАНДА ПИД ТИД КОРИСНИК ФД ТИП ВЕЛИЧИНА УРЕЂАЈА/ИСКЉУЧЕНО НАЗИВ ЧВОРА кдевтмпфс 31 роот цвд ДИР 0,6 4400 2 / кдевтмпфс 31 роот ртд ДИР 0,6 4400 2 / кдевтмпфс 31 / кдевтмпфс 31 / роот ткт / ункновн ДИР 8,8 4096 2 / нетнс 32 роот ртд ДИР 8,8 4096 2 / нетнс 32 роот ткт непознат /проц/32/еке рцу_таскс 33 роот цвд ДИР 8,8 4096 2 / рцу_таскс 8 ИР 33 роот 8,8 4096 2 / рцу_таскс 8 ИР / рцу_таскс 33 роот ткт непознат /проц/33/еке каудитд 34 роот цвд ДИР 8,8 4096 2 / каудитд 34 роот ртд ДИР 8,8 4096 2 / каудитд 34 роот ткт непознат /проц/34/ 

Следе атрибути који се приказују помоћу лсоф команда.

ПараметарОпис
ЦоммандПриказује име команде која отвара датотеку.
ПИДИдентификациони број процеса процеса који отвара датотеку.
ТИДБрој идентификатора нити. То може бити нити или број задатка.
КорисникИД корисника или име корисника који је власник процеса.
ФДПриказује дескриптор датотеке.
ТипТип чвора повезаног са датотеком.
УређајПриказује бројеве уређаја.
Величина/ИскљученоПриказује величину датотеке у бајтовима.
ЧворПриказује иноде број директоријума или родитељског директоријума.
ИмеПриказује име система датотека у којем се налази процес.

Навођење процеса

Прво и најважније, важно је да добијете процесе који су покренути и њихове одговарајуће ИД-ове процеса. Линук пружа разне команде за листање процеса заједно са њиховим атрибутима као што су ПИД, корисник, директоријум итд.

Можете користити команде попут топ, пс, хтоп, пстрее да наведете процесе на терминалу.

Током читавог туторијала, користићу топ заповести да то учини. Тхе топ команда пружа динамички приказ система који ради у реалном времену. Такође приказује све процесе и нити којима тренутно управља Линук кернел. Проучите блок испод да бисте проверили излаз топ команда.

Синтакса:

судо топ

Излаз:

гаурав@убунту:~$судо топ ПИД КОРИСНИК ПР НИ ВИРТ РЕС СХР С %ЦПУ %МЕМ ВРЕМЕ+ КОМАНДА 2703 гаурав 20 0 4286124 1.142г 103584 Р 88.2 30.5 87:48.018 87:48.017 87:48.017 87:48.017 87:48.017 87:48.163 Веб 87:48.017 87:48.017 Веб 52 82 82 02 02 02 27 27 27 27 27 27 27 27 34.41 монгод 13765 гаурав 20 0 2931568 131408 47496 С 5.9 3.3 1: 42.34 Веб Цонтент 1 роот 20 0 225904 6824 4900 С 0.0 0.2 0: 27.25 системд 2 роот 20 0 0 0 0 С 0.0 0.0 0: 00.05 ктхреадд 4 root 0 -20 0 0 0 И 0.0 0.0 0:00.00 кворкер/0:0Х 6 роот 0 -20 0 0 0 И 0.0 0.0 0:00.00 мм_перцпу_вк 7 роот 20 0 0 0 0 С 0.0 1 0.0 9 к роот 0.0 9 0:0 0 0 И 0.0 0.0 0:22.32 рцу_сцхед 9 роот 20 0 0 0 0 И 0.0 0.0 0:00.00 рцу_бх 10 роот рт 0 0 0 0 С 0.0 0.0 0:03.03 мигратион 

У горњем блоку можемо видети све информације везане за процес на једном месту. Одавде можемо пронаћи ПИД процеса чији морамо да прикажемо отворене датотеке користећи лсоф команда.

Али ако желите да сазнате ИД процеса само одређеног процеса и избегнете друге нежељене процесе, користите следећу команду.

Синтакса:

судо топ | греп [Процес_Наме]

Пример:

гаурав@убунту:~$ топ | греп терминал 13819 гаурав 20 0 803336 19728 9160 С 0.3 0.5 0: 53.63 гноме-терминал- 13819 гаурав 20 0 803336 19728 9160 С 1.0 0.5 0: 53.66 гноме-терминал- 13819 гаурав 20 0 803336 19728 9160 С 0,3 0,5 0: 53.67 гноме -терминал- гаурав@убунту:~$

Овде смо посебно приказали ИД процеса процеса који има стринг „терминал“ у имену процеса. Овај метод је згодан када нисте свесни комплетног назива процеса или ПИД-а.

Приказ отворених датотека повезаних са процесом помоћу ПИД-а

У горњем блоку смо научили како да добијемо информације везане за процес уз помоћ горње команде. Сада ћемо користити ПИД који одговарају било ком процесу у систему и покушајте да прикажете листу отворених датотека у вези са тим процесом користећи лсоф команда.

Из горе датог излаза, узмимо процес који одговара ПИД-у 1173 који је истакнут. Користићемо лсоф -п [ПИД] заповести да то учини.

Синтакса:

судо лсоф -п [ПИД]

Ова команда узима ПИД процеса као улаз и наводи све датотеке које одговарају овом ПИД-у.

Излаз:

гаурав@убунту:~$ судо лсоф -п 1173 лсоф: УПОЗОРЕЊЕ: не могу стат() фусе.гвфсд-фусе систем датотека /рун/усер/1000/гвфс Излазне информације могу бити непотпуне. КОМАНДНИ ПИД КОРИСНИК ФД ТИП УРЕЂАЈ ВЕЛИЧИНА/ИСКЉУЧЕНО НАЗИВ Чвора ​​монгод 1173 монгодб цвд ДИР 8,8 4096 2 / монгод 1173 монгодб ртд ДИР 8,8 4096 2 / монгод 1173 монгодб монгодб63т898к монгодб63т898к монгодб63т88 1173 монгодб мем РЕГ 8,8 71776 2624380 /либ/к86_64-линук-гну/либнсс_михостнаме.со.2 монгод 1173 монгодб мем РЕГ 8,8 101168 26244380 /либ/к86_64-линук-гну/либнсс_михостнаме.со.2 монгод 1173 монгодб мем РЕГ 8,8 101168 /либ/к86_64-линук-гну/либнсс_михостнаме.со.2 монгод. мем РЕГ 8,8 26936 2624439 /либ/к86_64-линук-гну/либнсс_днс-2.27.со монгод 1173 монгодб мем РЕГ 8,8 10160 2626002 /либ/к86_64-линук-гну/либнсс_днс-2.27.со монгод 1173 монгодб мем РЕГ 8,8 10160 2626002 /либ/к86_64-линук-гну/либнсс_днс-2.27.со монгод 1173 монгодб мем РЕГ 8,8 10160 2626002 /либ/либнсс_днс-2.27. 8,8 47568 2624441 /либ/к86_64-линук-гну/либнсс_филес-2.27.со монгод 1173 монгодб мем РЕГ 8,8 3004224 2909671 /уср/либ/лоцале2.27 монгодб 1173 либ/к86_64-линук-гну/либц-2.27.со монгод 1173 монгодб мем РЕГ 8,8 144976 2624627 /либ/к86_64-линук-гну/либптхреад-2.27.со монгодб мем РЕГ 8,8 144976 2624627 /либ/к86_64-линук-гну/либптхреад-2.27.со монгодб мем РЕГ 8,8 к86_64-линук-гну/либгцц_с.со.1 монгод 1173 монгодб ме м РЕГ 8,8 1700792 2622735 /либ/к86_64-линук-гну/либм-2.27.со монгод 1173 монгодб мем РЕГ 8,8 14560 2621535 /либ/к86_64-линук-гну/либм-2.27.со монгодб мем РЕГ 8,8 14560 2621535 /либ/к86к-1г. 8,8 31680 2624646 /либ/к86_64-линук-гну/либрт-2.27.со монгод 1173 монгодб мем РЕГ 8,8 2357760 2890079 /уср/либ/к86_губсоу/либрт-2.27. :~$

Датотеке које су отворене за процес са ИД-ом процеса 1713 приказују се помоћу лсоф команда.

Белешка: Корисници ГНОМЕ-а могу наићи на следеће упозорење. Можете га безбедно игнорисати.

лсоф: УПОЗОРЕЊЕ: не може стат() фусе.гвфсд-фусе систем датотека /рун/усер/1000/гвфс Излазне информације могу бити непотпуне.

Навођење отворених датотека повезаних са процесом помоћу имена процеса

Тхе лсоф команда вам такође пружа опцију да наведете отворене датотеке користећи имена процеса. Имена треба дати команди као улазни низ. Погледајте синтаксу испод да бисте користили ову опцију.

Синтакса:

судо лсоф -ц [име процеса]

Пример:

судо лсоф -ц мискл

Излаз:

гаурав@убунту:~$ судо лсоф -ц мискл лсоф: УПОЗОРЕЊЕ: не могу стат() фусе.гвфсд-фусе систем датотека /рун/усер/1000/гвфс Излазне информације могу бити непотпуне. КОМАНДА ПИД КОРИСНИК ФД ТИП ВЕЛИЧИНА УРЕЂАЈА/ИСКЉУЧЕНО НАЗИВ ЧВОРА мисклд 1266 мискл цвд ДИР 8,8 4096 3154135 /вар/либ/мискл мисклд 1266 мискл ртд ДИР 8,8 1266 мискл цвд ДИР 8,8 4096 3154135 /вар/либ/мискл мисклд 1266 мискл ртд ДИР 8,82 4061 4068 4068 / 4061688 /сбин/мисклд мисклд 1266 мискл мем РЕГ 8,8 6288 5505444 /уср/либ/мискл/плугин/аутх_соцкет.со мисклд 1266 мискл ДЕЛ РЕГ 0,18 28127 5505444 аио] мисклд 1266 мискл ДЕЛ РЕГ 0,18 28125 /[аио] мисклд 1266 мискл мем РЕГ 8,8 47568 2624441 /либ/к86_64-линук-гну/либнсс27.786 мисклд 1266 мискл мем РЕГ 8,8 либ/к86_64-линук-гну/либнсс_нис-2.27.со мисклд 1266 мискл мем РЕГ 8,8 39744 2624438 /либ/к86_64-линук-гну/либнсс_цомпат-2.27. 

Излаз ће бити исти као онај у коме се користи ИД процеса уместо имена процеса.

Листинг датотека које отварају мрежне везе

У Линук-у, датотеке такође могу бити у облику информација о вашим мрежним везама, хардверским везама итд. Можемо користити лсоф команду за листање датотека отворених мрежном везом. Користите следећи метод.

судо лсоф -и

Излаз:

гаурав@убунту:~$ судо лсоф -и КОМАНДА ПИД КОРИСНИК ФД ТИП ВЕЛИЧИНА УРЕЂАЈА/ИСКЉУЧЕНО НАЗИВ Чвора ​​системд-р 969 системд-ресолве 12у ИПв4 17357 0т0 УДП лоцалхост:домаин системд-р 969 локални системд-у3058 ТИП домен (СЛУШАЈ) системд-р 969 системд-ресолве 15у ИПв4 1685575 0т0 УДП убунту:48090->_гатеваи:домаин авахи-дае 1028 авахи 12у ИПв4 23810 0т0 УДП 1685575 0т0 УДП убунту:48090->_гатеваи:домаин авахи-дае 1028 авахи 12у ИПв4 23810 0т0 УДП1018д102дд: авахи-дае 1028 авахи 14У ИПв4 23812 0Т0 УДП *: 58999 авахи-дае 1028 авахи 15у ИПв6 23813 0Т0 УДП *: 37512 монгод 1173 монгодб 6у ИПв4 28149 0Т0 ТЦП лоцалхост: 27017 (ЛИСТЕН) мисклд 1266 мискл 19у ИПв4 25992 0Т0 ТЦП лоцалхост: мискл (ЛИСТЕН) апацхе2 1283 роот 4у ИПв6 28140 0т0 ТЦП *:хттп (ЛИСТЕН) гаурав@убунту:~$

Овде можемо видети информације о датотекама које су отворене мрежном везом помоћу лсоф -и команда.

Закључак

У овом једноставном водичу научили смо како да наведемо отворене датотеке за процес у Линуку користећи различите методе које су једноставне за употребу. За више употребе лсоф команду, види лсоф ман страница.