KILL(2)                                                 KILL(2)
НАЗВАНИЕ
kill - посылка сигнала процессу или группе процессов
СИНТАКСИС
       |int kill (pid, sig)
       |int pid, sig;
ОПИСАНИЕ
Системный вызов kill посылает сигнал процессу или груп-
        пе процессов, которые заданы идентификатором pid. Посы-
        лаемый  сигнал  определяется  аргументом sig и является
        либо одним из списка сигналов,  заданного  в  системном
        вызове  signal(2),  либо  0.  Если аргумент sig равен 0
        (пустой сигнал), то будет выполняться проверка коррект-
        ности обращения к kill, но сигнал в действительности не
        посылается. Это свойство может  быть  использовано  для
        проверки того, правильно ли задан аргумент pid.
        Передающий и принимающий процессы должны иметь  один  и
        тот же реальный или действующий идентификатор пользова-
        теля, если только соответствующий посылающему  процессу
        действующий  идентификатор  пользователя  не   является
        идентификатором суперпользователя.                     
        Процессы с идентификаторами 0 и 1 являются специальными
        [см. intro(2)] и в дальнейшем  будут  обозначаться  как
        процесс_0 и процесс_1 соответственно.
         
        Если pid больше 0, то сигнал будет послан процессу, чей
        идентификатор равен значению pid.  Значение  pid  может
        быть равным 1.
        
Если pid равен 0, то сигнал будет послан  всем  процес
        сам, входящим в группу посылающего процесса, за  исклю
        чением процесса_0 и процесса_1.                        
                                                               
        Если pid равен -1 и сигнал посылается  не  из  процесса
        суперпользователя, то сигнал будет послан всем  процес
        сам, у которых реальный идентификатор пользователя  ра-
        вен действующему идентификатору пользователя посылающе-
        го процесса, за исключением процесса_0 и процесса_1.
        Если pid равен -1, и сигнал посылается из процесса  су-
        перпользователя, то сигнал будет послан всем процессам,
        за исключением процесса_0 и процесса_1.                
                                                               
        Если pid меньше -1, то сигнал будет послан всем процес-
        сам, у которых идентификатор группы процесса равен  аб-
        солютной величине pid.                                 
                                                               
        Системный вызов kill завершается неудачей и сигналы  не
        посылаются, если выполнено хотя бы  одно  из  следующих
        условий:                                               
                                                               
        [EINVAL]    Аргумент sig задает неверный номер сигнала.
        [EINVAL]    Номер сигнала sig равен SIGKILL, а принима
                    ющий процесс является  всеобщим  предком  с
                    идентификатором, равным 1 (процесс_1).
        [ESRCH]     Не найден процесс с идентификатором, равным
                    значению аргумента pid.                    
                                                               
        [EPERM]     Реальный и действующий идентификаторы поль
                    зователя передающего и принимающего процес-
                    сов не совпадают, а пользователь посылающе-
                    го процесса не является суперпользователем.
                                                               
СМ. ТАКЖЕ                                      
        getpid(2), setpgrp(2), signal(2), sigset(2).
        kill(1) в Справочнике пользователя.                    
                                                               
ДИГНОСТИКА                    
        При успешном завершении результат  равен  0;  в  случае
        ошибки возвращается -1, а переменной errno присваивает-
        ся код ошибки.