ПредишенСледващото

I влезли в отдалеченото устройство. Виждам следния ред в приветственото съобщение.

Има един процес зомби.

Доколкото разбирам. това означава, че някои процес приключи работа, но не го е затворило и не освободи ресурсите. Бих искал да се разбере по-добре проблема:

  • Как мога да го намеря? Сега, аз съм се познае, но се нуждаят от стабилна метод.
  • Как мога да разбера причините за възникването му? Има ли някакви трупи? Може би на съществуващ процес, който може да разбере нещо?

Ако това е важно, Ubuntu 14.04, Sudo е.

Доплащане: Не ми харесва метода на "да изчакаме", защото услуга, която винаги трябва да работи - и тя замръзва, или някой от неговите деца. Той monit'om заблуждават, но той не признава zombification и не рестартира.

настроен 19 януари '16 в 05:37

Как мога да разбера причините за възникването му? - Родителите му (все още) ripnul може ripnet по-късно. След завършване на родителя, на всички деца процеси ще бъдат приети от процеса майка на компанията майка, когато е най-вероятно, както и всички razrulitsya. Самият процес отнема зомби, като си спомням, нищо (буквално самото влизане в таблицата), толкова дълго, тъй като няма напредък, всичко трябва да се оправи. - etki 19 януари '16 в 06:10

razrulitsya и всичко - всичко влиза в практиката си зомби-процеси (а те са много редки и това беше много дълго време) продължава да съществува до рестартиране на системата. - Александър barakin 19 януари '16 в 06:26

Замбия - грешки в плода родител, той е забравил за детето. Ако родителят е много зает и не реагира на сигналите, че не може да вдигне точно навреме, за да завършите кода. така че в един много кратък период от време, както и PS е в отлично функционално състояние на системата. Но на изхода за отстраняване на зомбита, само едно - да убие майка. Така че ние ще трябва да се научат да разбират MONIT зомбита признават родители. - Майк 19 януари '16 в 06:35

Зомбита в операционната система UNIX, се нарича за да завършите процеса, който се кода за приключване не е майка. Zombies не консумират никакви ресурси, паметта и описания на файлове такива процеси вече са били освободени. Остава само запис в таблицата на процес, който отнема няколко десетки байта памет. Така, че един и същи процес зомби няма никакъв ефект върху системата. Но това е ясен показател за това, че процесът на системата, че нещо се е объркало.

Тази команда ще покаже всички процеси на зомби и техните родители (тествана под Linux, произтичащи от други * никс може да е други клавиши от командата PS).

Убий зомбита могат да рестартират само процеса родител. убие -9 процеса на зомбита и чесън обикновено не помага. Ако появата на зомбита еднократно събитие, а след това тя може да бъде по-лесно на факта на неговото възникване резултат.

Вариант 2: Процесът на майка използва чакането. но все пак ще се появят зомбита. Копаят в страната на това, което се използва вид изчакване, ако waitpid, който проверява изпълнението на конкретна потомство, а след това гледат където е необходимо, подлежащи на проверка PID, по възможност в процеса на които са загубили ДИП, потомците и програмата забравя за тях. Програмата може в някакъв момент забранява обработка на сигнали и да се възстанови обработка забравя, след преминаване на критичния участък. Отново - възможностите са много, но те са концентрирани около манипулатор SIGCHLD и чакат функции.

Вариант 3: родителят е в състояние да обработва и е готов да се справят както трябва за приключването на техните потомци. Но контури на друго място в програмата, или заспива на система повикване, като четене от мрежово устройство, която е станала недостъпна и по този начин да прекъсне SIGCHLD забранено. В този случай, е необходимо да се справи с причините за своето висене. Между другото, липсата на достъп до някои или ресурси, като например мрежови устройства (или повреда на физическия диск) - доста често срещана причина за масовия вид на зомбита.

Някакви специални дневници в системата, където те биха могли да се види, че най-малко известна информация за възникващите зомбита не съществуват. Следи могат да бъдат намерени само в трупите на програмата, което ги генерира, ако има такива.

Отговорено 19 '16 януари в 08:20

Подкрепете проекта - споделете линка, благодаря!