Зомби процес. Нису сви чули за ову занимљиву, али застрашујућу реч везану за оперативни систем Линук. На личном рачунару, зомби процеси можда не представљају претњу за обичног корисника, али када су у питању Линук сервери, ти процеси морају бити идентификовани и заустављени.
Такви процеси могу проузроковати проблеме са процесном табелом вашег система, а заузврат ће утицати на правилно функционисање ваше машине. Стога ћемо у овом чланку детаљно разговарати о зомби процесима, заједно са свеобухватним водичем о проналажењу и убијању зомби процеса на Линук машини.
Шта су зомби процеси?
Али пре свега тога, важно је да знате шта су заправо зомби процеси. То су ништа друго до мртви и неактивни процеси који заузимају простор на системској табели процеса. А. блок за контролу процеса или ПЦБ је структура података која чува детаље повезане са појединачним процесима који се изводе на вашем систему.
Табела процеса састоји се од ИД-а процеса, везе до ПЦБ-а и других корисних информација повезаних са процесом. Зомби процеси имају своје ИД-ове процеса и информације о управљању меморијом. Будући да ОС Линук има ограничен број ИД-ова процеса на располагању, други процеси не могу користити ПИД-ове док се зомби процес не заустави.
Иако један или два зомби процеса неће проузроковати поремећаје или перформансе на вашем рачунару, а велики број таквих процеса може наштетити току рада вашег система поплавом табеле процеса и ресурса.
Шта узрокује зомби процесе на Линуку?
Да бисте детаљно разумели основни узрок зомби процеса, мораћете да научите како се процеси започињу и заустављају у Линуку. Оперативни систем Линук надгледа све покренуте процесе и демоне на рачунару. Тхе процесна табела је листа структура која садржи све процесе који су тренутно покренути на вашој машини.
Сваки унос процеса у табели процеса састоји се од везе до блок за контролу процеса тог специфичног процеса. ПЦБ складишти детаље повезане са тим одређеним процесом. Ови детаљи укључују:
- Стање процеса: Тренутно стање процеса
- Број процеса: Јединствени број који се користи за идентификацију процеса
- Програмски бројач: Садржи информације повезане са следећим упутством
- Регистри: Списак свих ЦПУ регистара које процес користи
- Отвори списак датотека: Датотеке које процес користи
- Информације о заказивању ЦПУ-а: Садржи информације повезане са процесорским временом и ресурсима додељеним процесу
- Информације о управљању меморијом: Садржи детаље о количини меморије коју процес користи
- И / О информације: Списак улазних или излазних уређаја који се користе у процесу
Линук користи следећа стања процеса да би описао све своје процесе.
- Р.: Покренути процес
- С.: Процес спавања
- Д.: Непрекидан процес спавања
- Т.: Завршени поступак
- З.: Зомби процес
Кад год процес изврши додељени задатак, његово стање процеса поставља се као Зомби или З.. Сваки процес има надређени процес који позива фамилију именованих функција чекати() која чека на промену стања у процесу. На пример, ако се стање процеса промени из Трчање до Зомби, чекати() метода ће бити активирана.
Тхе чекати() метода обично брише контролни блок процеса повезан са тим зомби процесом, а затим уклања унос тог процеса из табеле процеса.
Али понекад, због лошег развоја програма, надређени процес не позива чекати() функцију. Као резултат тога, систем не брише ПЦБ зомби процеса. Унос табеле процеса за тај одређени процес такође остаје нетакнут.
Ово омогућава зомби процесу бескрајан животни век. Будући да систем не може да убије процес, унос процеса се никада не брише и ПИД се никада не ослобађа.
Сазнајте више: Начини убијања неодговарајућих програма у Линуку
Како пронаћи зомби процесе?
Први корак за уклањање зомби процеса на вашем систему је анализа који процес има Зомби стање процеса. Иако нећете моћи директно да убијете ове процесе јер их је систем већ уклонио из меморије, можете да убијете надређени процес повезан са њима.
Прво морате да проверите да ли табела процеса вашег система има зомби процес. То можете лако учинити помоћу врх команда. Једноставно отворите терминал и унесите:
врх
Видећете излаз сличан овом. Приметите број зомби процеса на врху прозора терминала. Ако је излаз нула, онда не морате да бринете.
Можете да наведете информације повезане са овим зомби процесима цевоводом наредба пс са егреп. Егреп је продужетак греп наредбе у Линуку који третира све обрасце као проширени редовни редовни израз.
Повезан: Водич за почетнике за регуларне изразе са Питхоном
Откуцајте следећу команду да бисте пописали све зомби процесе:
пс аук | егреп "З | угашен"
Поменута команда ће потражити редове који садрже било који З. или угашен у излазу генерисаном наредбом пс. Резултат се састоји од листе зомби процеса који се изводе на вашем систему.
Убијање зомби процеса Коришћење команде килл
Сад кад знате који зомби процеси тренутно једу ваше системске ресурсе, време је да те процесе убијете.
Иако је најлакши начин убијања зомби процеса поновним покретањем рачунара, понекад то није изводљива опција, посебно ако администрирате сервер.
Да бисте убили зомби процесе без искључивања сервера, забележите ИД процеса било ког зомби процеса. Из претходног одељка видимо да је ПИД зомби процеса био 18614. Затим, помоћу овог ПИД-а пронађите ИД надређеног процеса.
пс -о ппид = -п 18614
Излаз:
18613
Проверите да ли постоји надређени ИД процеса помоћу пс команда.
пс -е | греп 18613
Сад кад смо потврдили постојање надређеног процеса, време је да га убијемо. Прођи -СИГКИЛЛ застава са убити наредба на следећи начин:
судо килл -СИГКИЛЛ 18613
Једном када убијете родитељски процес, систем ће избрисати зомби процес и аутоматски га уклонити из табеле процеса.
Ефикасно управљање процесима на Линуку
Сваки администратор система мора дати приоритет процесима надгледања који се изводе на Линук машини. Иако зомби процеси нису нужно штетни за ваш систем, они могу изазвати проблеме са перформансама ако постоје у великом броју.
Ако сте почетник Линук корисника и немате појма како Линук оперативни систем управља процесима, добро је започети учење шта су то процеси.
Разумевање процеса и послова је кључни аспект за упознавање Линука. Ево шта треба да знате.
Прочитајте следеће
- Линук
- Линук
- Обрада
Деепесх је млађи уредник за Линук у МУО. На Интернету пише информативни садржај више од 3 године. У слободно време ужива у писању, слушању музике и свирању гитаре.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.