Зомби процеси

Читање уноса из елав Сетио сам се да је на форуму неко тражио помоћ, јер је њихов систем био спор, а нека од решења била су усредсређена на процесе.

Главна стања процеса у Линуку су:
Спавање (С) : Процеси који чекају свој ред да се изврше.
Трчање (Р) : Процеси који су у току.
Чекање (Д) : Процеси који чекају да се заврши операција уласка / изласка.
Зомби (З) : Процеси који су се завршили, али се и даље појављују у табели процеса. Могу бити узроковане програмским грешкама и могу бити симптом успореног или система који изазива проблеме.

Зомби процес је онај који никада није примио сигнал од родитељског процеса који га је створио, а подређени процес је онај који потиче из процеса вишег нивоа познатог као родитељски процес који је одговоран за слање сигнала подређеним процесима генерисана њиме да би указала да се њихов животни век завршио.

Могу бити узроковане програмским грешкама и могу бити симптом успореног или система који изазива проблеме. До ове ситуације обично долази, такође зато што програмер није разматрао неку конфигурацију.

У Википедији можете прочитајте више о овим процесима.

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

процесу

Да бисте видели све процесе, откуцајте у терминалу: пс аук, и да видим само зомбије: пс -ел | греп 'З'o пс -А -остат, ппид, пид, цмд | греп -е '^ [Зз]'

алф @ Алф ~ $ пс -А -остат, ппид, пид, цмд | греп -е '^ [Зз]'

З КСНУМКС

Ако се приликом навођења процеса појави један са статусом З, то значи да је зомби, што заузврат значи да апликација није добро решена или да има грешака, знајући да се њен ПИД може елиминисати извршавањем наредбе сличне, у овом примеру: 

алф @ Алф ~ $ убити -9 1945

Када имате много зомби процеса или бар више од једног, можете да користите следећу наредбу која их убија, то функционише само за то, ако га покренете без зомби процеса, ништа се неће догодити:

алф @ Алф ~ $ судо килл -ХУП `пс -А -остат, ппид, пид, цмд | греп -е '^ [Зз]' | авк '{принт $ 2}' ''

поздрави


14 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   прави дијо

    🙁

  2.   Оскар дијо

    Хвала, врло добар допринос, сачуваћу наредбе да бих вршио периодичне верификације.

  3.   Јосх дијо

    Хвала, леп чланак.

  4.   МСКС дијо

    Неколико појашњења у вези са вашим чланком:

    Израз „зомби процес“ је технички неприкладан и они од нас који имамо мало искуства са ГНУ / Линук-ом би требало да избегавамо да га користимо јер сам процес не ради, већ је то само референца на процес који више не постоји у систему и није објавио свој идентификатор.

    „Зомби процес“ је заправо унос у табелу мапирања идентификатора процеса (дескриптор процеса), само то, тако да не троши ресурсе веће од неколико бајтова меморије које систем користи за праћење процесна табела.

    Једини проблем који могу бити са дескрипторима регистра духова (или зомбија) је тај што би се они, ако се пребрзо појаве, могли теоретски заузети целу табелу расподеле дескриптора процеса, остављајући систем без простора за нове записе, па би потенцијално могао бити немогуће покренути нове програме - који бележе њихове процесе - на крају спусти машину.

    Међутим, то је готово немогуће догодити се, јер у 32-битним системима постоји 32767 простора за регистрацију процеса (ретко или никад коришћени) и двоструко више од 64-битног система.

    Једини начин да систем падне са лоше уклоњеним мртвим процесима је креирање процеса и њихово брзо убијање без коректног чишћења дескриптора процеса (то јест, стварања „зомби процеса“), али, признајмо, ако неко жели да обеси систем има много директнијих начина од тога. да започнемо брзо стварање нових процеса на експоненцијални начин који заглављују систем и вешају га; један од начина да се то постигне виљушком бомбом:

    : () {: |: &};:

    Правилним конфигурисањем /етц/сецурити/лимитс.цонф можете систем учинити релативно отпорним на виљушку бомбу, мада се мора узети у обзир да што више ограничавамо могућност стварања нових процеса, моћи ћемо истовремено покретати мање апликација на нашем систему Међутим, то је ваљан алат за све параноичне сисадмине који желе да имају врло фину контролу над својим системима!

    Овај чланак садржи добре информације о неважећим дескрипторима процеса:
    http://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/
    И у овоме постоји јасно објашњење о томе како ради бомба виљушкара: http://stackoverflow.com/questions/991142/how-does-this-bash-fork-bomb-work

    СалуКСНУМКС

    1.    Јотаеле дијо

      мск: «Израз„ Зомби процес “је технички неприкладан и они од нас који имају мало искуства у ГНУ / Линук-у би требало да га избегавамо да користимо ...» Ха ха ха. Постоји само нешто веће од вашег поноса: ваш лош укус. Хеј, оно што си урадио је у лошем укусу, ако желиш да одржиш предавање, одржиш га на факултету или поставиш свој блог и напишеш шта желиш, али доћи овде да исправиш стан у доброг Алфа заиста је лошег укуса.

      1.    Фернандо Ројас дијо

        Истина ми се учинила прилично занимљивим коментаром. Много више од поста

  5.   платонов дијо

    хвала врло занимљиво.

  6.   Ротс87 дијо

    одличан чланак хвала

  7.   Алф дијо

    МСКС
    «Израз„ Зомби процес “је технички неприкладан и они од нас који имају мало искуства у ГНУ / Линук-у требали бисмо да га избегавамо»

    Мораћемо да обавестимо програмере, јер као што ћете видети користи се и термин зомби, тамо сам га прочитао на конзоли.

    поздрави

  8.   Цитук дијо

    Честитам, врло добар чланак, увек сам сумњао да су то ПЗ-ови, али никада нисам имао времена да истражим, сада улазим на страницу и наилазим на одговор, хвала ...

  9.   труко22 дијо

    У КДЕ-у са системом за управљање + систем за бекство се гаси и те зомбије можемо брзо убити.

  10.   Киша дијо

    Исправка, то је ЗОМБИЕ, а не ЗОМБИЕ процес
    Зомби је на енглеском
    Зомби на шпанском

  11.   Елинк дијо

    Луксуз, хвала!

  12.   Роберто дијо

    Прво, појам зомби процеса изгледа потпуно тачно. Такође је термин најмање важан.
    Ствар је у томе да је, као што мск указује, а иста она википедиа (читао сам чланак), зомби процес заиста мртав.
    «Када се процес заврши, дереференцира се сва његова меморија и повезани ресурси, тако да их други процеси могу користити. У сваком случају, унос процеса у табелу процеса и даље остаје »
    Односно, процес више не заузима системске ресурсе, стога је оптерећење система минимално, како објашњава мск.
    Међутим, једино што има је неисправан унос у табелу процеса ... што би, ако их има на хиљаде, можда било оптерећење (уосталом, процесор мора прочитати табелу процеса и читао би много бескорисних информација) поред одражавања лоше праксе програмирања (неко прави лоше направљене апликације).
    Али само по себи објашњење поста није тако тачно и исправно би било оно које је дао мск.