On 09.03.2012 13:34, -=Devil_InSide=- wrote: >>> а почему попытки убить именно 1300й ? >>> бить всех, бог узнает своих (с) >>> на самом деле отвалились процессы с <defunct>, а 1300й запуститься не >>> может. kill -9 749 1300 32103 32200 >>> можно несколько раз. >> >> Нельзя убить того, кто уже мёртв ;) >> <defunct> -- это процессы-зомби, убитые, но ожидающие, когда их >> reap'нут. А 1300, судя по всему, застрял в TASK_UNINTERRUPTABLE -- в >> этом состоянии сигналы процессу не доставляются, поэтому kill и не >> работает. >> > > ну ето, как бы, может, и да; но тем не менее, когда прекрасная сборка > doublecmd, не рассчитанная на дебиановские glibc умирала, картина была такая > ж. пара дефункшенов и один, который непоймичо. > и помогало лишь убитие всех.
Помогало вам убитие того одного, скорее всего. Никто не запрещает посылать сигналы процессам-зомби, однако это абсолютно бесполезно: все связанные с процессом ресурсы уже освобождены, в том числе адресное пространство и ядерный тред, так что исполнять обработчик сигнала просто некому. Вообще, с самими зомби всё в полном порядке -- это совершенно штатная ситуация, проблема в родительском процессе, не желающем вызвать wait(2) (из-за того, что завис или просто криво написан). В вашем случае вы прибили родительский процесс, "осиротевшие" зомби были переданы процессу init, а он уже вызвал wait(waitpid). -- Илья -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/jjcn0u$l4t$1...@dough.gmane.org