Что ожидает сигналы?

killлуг 0 не уничтожает pid 0. Вместо этого это - опция в kill уничтожить все процессы в текущей группе. С Вашей командой Вы уничтожаете все в идентификаторе группы процесса (GID) оболочки, которая вышла kill команда.

от kill страница справочника:

   pid... Specify the list of processes that kill should signal.  Each pid
      can be one of five things:

          ...

      0      All processes in the current process group are signaled.
9
22.04.2015, 00:58
2 ответа

Согласно странице ручной страницы Sigpending :

SigPending () Возвращает набор сигналов, которые находятся в ожидании доставки к вызывающему потоку (то есть сигналы, которые были подняты во время заблокирован).

Итак, подразумевается, что сигналы (SIGTERM, SIGKILL, SIGSTOP, ...), которые ждут, пока процесс не выйдет из d (бесперебойное сон). Обычно процесс находится в этом состоянии, когда он ждет ввода / вывода. Этот сон не может быть прерван. Даже SIGKILL ( убить -9 ) не может, и ядро ​​ждет, пока процесс не просыпается (сигнал ожидается доставки для доставки).

Для других неясных значений я бы посмотрел в ручной странице пределов .Conf .

6
27.01.2020, 20:07

Пределы процессов контролируют Setrlimit (2)

, чтобы вы могли посмотреть в свой ManPage:

RLIMIT_SIGPEND (поскольку Linux 2.6.8)

Указывает предел на номере сигналов, которые могут быть очередны для реального идентификатора пользователя процесса вызова. Как стандартные, так и сигналы в реальном времени считаются с целью проверки этого предела. Однако предел применяется только для SIGQUEUE (3); Всегда можно использовать убить (2), чтобы покинуть один экземпляр любого из сигналов, которые еще не очередны в процессе.

Как правило, вы можете получить наиболее подробную информацию, когда вы смотрите в ManPages Syscalls. C - родной язык Unix / Linux.

0
27.01.2020, 20:07

Теги

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