Define _GNU_SOURCE
#include <string.h> char *strsignal(int signo); 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.
|