Зомби-процесс вызывает нехватку памяти? Это убивает процесс инициализации в конце концов?

У меня проблема с процессом зомби, и я впервые встретился с ним. Поэтому я не знаю, как решить эту проблему и концепцию. Я прочитал статью, опубликованную 1 год назад ( ссылка ), и в ней говорится, как показано ниже:

Нет ничего страшного в том, чтобы такие процессы происходили, если их не много. Зомби в конце концов пожинается его родителем (вызывая wait (2)). Если исходный родитель не получил его до своего выхода, процесс init (pid == 1) сделает это позже.

Но при этом я не понимаю и у меня есть 2 вопроса. Пожалуйста, помогите, кто бы это ни знал.

  1. Значит ли это, что в конечном итоге запись процесса зомби будет удалена из таблицы процессов и успешно уничтожена процессом init (Pid = 1) ??
  2. Я думаю, что процесс зомби вызывает нехватку памяти проблема, потому что не возвращает выделенное пространство памяти.

Прав ли я ??

2
задан 6 November 2014 в 23:46

2 ответа

  1. Процессы-зомби don’t израсходовали любые системные ресурсы. (На самом деле каждый использует очень крошечную сумму системной памяти для хранения ее дескриптора процесса.) Однако каждый процесс-зомби сохраняет свой идентификатор процесса (PID)

  2. , системы Linux имеют конечное число идентификаторов процесса †“32767 по умолчанию в 32-разрядных системах. Если зомби накопятся на очень быстром уровне †“, например, если неправильно запрограммированное программное обеспечение сервера создаст процессы-зомби при загрузке — весь пул доступного PIDs, то в конечном счете станет присвоенным процессам-зомби, препятствуя тому, чтобы другие процессы запустились.

  3. Избавление от Процессов-зомби

    kill -s SIGCHLD pid
    

Кредит переходит в: HTG

0
ответ дан 7 November 2014 в 09:46
  • 1
    Я был бы действительно , ценят если you' d включают сущность того, что было Вашим решением. Ссылка на сообщение, которое связывается с решением (который должен все еще искать в последней ссылке) не является самым устойчивым способом ответить на вопрос. Если Вы делаете, I' ll upvote и вопрос и ответ:) – Jacob Vlijm 25 February 2016 в 02:16

Нет, На самом деле процесс-зомби

В Системной терминологии UNIX, процесс, который завершился, но чей родитель еще не ожидал его, называют зомби. PS (1) команда печатает состояние процесса-зомби как Z. Если мы пишем продолжительную программу, что ветвления много дочерних процессов, они становятся зомби, если мы не ожидаем их и выбираем их состояние завершения.

заключительное условие рассмотреть является этим: Что происходит, когда процесс, который был наследован init, завершается? Это становится зомби? Ответ является ‘‘no, ’’, потому что init записан так, чтобы каждый раз, когда один из его детей завершает, init вызвал одну из функций ожидания для выборки состояния завершения. Путем выполнения этого init препятствует тому, чтобы система была забита зомби. Когда мы говорим, что ‘‘one init’s детей, ’’, мы имеем в виду любого процесс, который init генерирует непосредственно (такие как getty, который мы описываем в Разделе 9.2) или процесс, родитель которого завершился и был впоследствии наследован init. от Программирования Unix Усовершенствования stevence rechard

0
ответ дан 7 November 2014 в 09:46
  • 1
    Jacob, я обновил ответ, чтобы показать, как автоматически запустить приложения на указанном рабочем столе. – pacmaninbw 29 February 2016 в 13:08

Другие вопросы по тегам:

Похожие вопросы: