The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

kill (2)
  • kill (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • kill (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • kill (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • kill (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • kill (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • kill (2) ( Solaris man: Системные вызовы )
  • kill (2) ( FreeBSD man: Системные вызовы )
  • >> kill (2) ( Русские man: Системные вызовы )
  • kill (2) ( Linux man: Системные вызовы )
  • kill (3) ( Solaris man: Библиотечные вызовы )
  • kill (3) ( POSIX man: Библиотечные вызовы )
  • kill (8) ( Русские man: Команды системного администрирования )
  •  

    ИМЯ

    kill - посылает сигнал процессу  

    ОБЗОР

    #include <sys/types.h>
    
    #include <signal.h> int kill(pid_t pid, int sig);
     

    ОПИСАНИЕ

    Системный вызов kill может быть использован для посылки какого-либо сигнала какому-либо процессу или группе процесса.

    Если значение pid является положительным, сигнал sig посылается процессу с идентификатором pid.

    Если pid равен 0, то sig посылается каждому процессу, который входит в группу текущего процесса.

    Если pid равен -1, то sig посылается каждому процессу, за исключением процесса с номером 1 (init), но есть нюансы, которые описываются ниже.

    Если pid меньше чем -1, то sig посылается каждому процессу, который входит в группу процесса -pid.

    Если sig равен 0, то никакой сигнал не посылается, а только выполняется проверка на ошибку.  

    ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

    В случае успеха, возвращается ноль. При ошибке, возвращается -1 и значение errno устанавливается соответствующим образом.  

    ОШИБКИ

    EINVAL
    Задан неправильный сигнал.
    ESRCH
    Идентификатор процесса pid или группа процесса не существуют. Заметим, что существующий процесс может быть зомби - процессом, который уже находится в состоянии завершения, но пока в котором пока ещё не выполнился wait().
    EPERM
    Текущий процесс не имеет прав на посылку сигнала к любому из указанных процессов. Процессы, которые имеют права на посылку сигнала процессу с номером pid должны иметь привелегии суперпользователя или, реальный или эффективный идентификатор пользователя процесса, посылающего сигнал, должен быть таким же как реальный или эффективный идентификатор пользователя процесса, принимающего сигнал. В случае, когда посылающий и принимающий процессы относятся к одной сессии, становится доступным сигнал SIGCONT.
     

    ЗАМЕЧАНИЯ

    Невозможно послать сигнал процессу с номером 1, т.е. процессу init, для которого не устанавливается обработчик сигналов. Так сделано, чтобы быть уверенным, что в случае какой-либо нештатной ситуации, рабата системы не будет завершена аварийно.

    POSIX 1003.1-2001 требует, чтобы kill(-1,sig) посылал sig всем процессам, которым текущий процесс может послать сигналы, за исключением возможно нескольких, определяемых реализацией системы процессов. Linux разрешает любому процессу посылать сигнал себе, но в Linux системный вызов kill(-1,sig) не посылает сигнал текущему процессу.  

    ИСТОРИЯ LINUX

    В различных версиях ядра, Linux применяет разные правила, касающиеся прав доступа, которые требуются для непревилегированного процесса, чтобы посылать сигнал другому процессу. В ядрах с 1.0 по 1.2.2, сигнал может быть послан, если эффективный идентификатор пользователя, посылающего сигнал процесса совпадает с эффективным идентифкатором пользователя у процесса-получателя или реальный идентификатор пользователя, посылающего сигнал процесса совпадает с реальным идентифкатором пользователя у процесса-получателя. В ядрах с 1.2.3 по 1.3.77, сигнал может быть послан, если эффективный идентификатор пользвателя, посылающего сигнал процесса совпадает или с реальным или с эффективным идентифкатором пользователя у процесса-получателя. Текущие правила, которые соответствуют стандартам POSIX 1003.1-2001 были введены, начиная с ядра версии 1.3.78.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001  

    СМОТРИ ТАКЖЕ

    _exit(2), killpg(2), signal(2), tkill(2), exit(3), signal(7)  

    ПЕРЕВОД

    Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004


     

    Index

    ИМЯ
    ОБЗОР
    ОПИСАНИЕ
    ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
    ОШИБКИ
    ЗАМЕЧАНИЯ
    ИСТОРИЯ LINUX
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМОТРИ ТАКЖЕ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру