c57a7841

Kill_pg_info


Эта функция отправляет сигнал и структуру struct siginfo каждому процессу в группе. Тело функции подобно некоторому коду из kill_something_info, которая рассматривалась ранее.

Итерация по всем процессам системы.

Если текущий процесс принадлежит требуемой группе, отправить сигнал.

В случае успешной отправки сигнала retval устанавливается в 0 и в строке возвращается. Если сигнал не может быть отправлен ни одному процессу либо заданная группа не содержит ни одного процесса, в строке значение retval устанавливается равным –ESRCH. Если же kill_pg_info предпринимала попытки отправить сигнал одному и более процессов, но каждый раз терпела неудачу, retval получает значение последней ошибки из send_sig_info. Это несколько отличается от случая kill_something_info, при котором состояние ошибки возвращалось, когда все доставки сигналов завершались сбоями. Здесь, в функции kill_pg_info, успех возвращается даже при условии удачной доставки сигнала хотя бы одному процессу.

Значение retval устанавливается либо как описывалось ранее, либо в –EINVAL (строка ), если был передан неверный номер группы процессов.



Содержание раздела