kill (POSIX) <sys/types.h, signal.h>
int kill(pid_t pid, int sig);
Системный вызов kill используется для того, чтобы послать сигнал процессу или группе процессов. Если:
pause (SVr4, SVID, POSIX, X/OPEN, BSD 4.3) <unistd.h>
int pause(void);
Ожидание сигнала.
raise (ANSI) <signal.h>
int raise(int sig);
Посылает сигнал <sig> текущему процессу.
sigaction (POSIX) <signal.h>
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
Используется для изменения действий процесса при получении соответствующего сигнала <signum>.
signal (ANSI) <signal.h>
void (*signal(int signum, void (*sighandler)(int)))(int);
Устанавливает функцию <sighandler> обработки сигнала <signum>. Таблица 15.
sigpending (POSIX) <signal.h>
int sigpending(sigset_t *set);
Определяет наличие ожидающих сигналов.
sigprocmask (POSIX) <signal.h>
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
Изменяет список блокированных в данный момент сигналов.
sigsuspend (POSIX) <signal.h>
int sigsuspend(const sigset_t *mask);
Временно изменяет значение маски блокировки сигналов процесса на указанное в mask, и затем приостанавливает работу процесса до получения соответствующего сигнала.
sigwait (POSIX) <signal.h, pthread.h>
int sigwait(const sigset_t *set, int *sig);
Блокирует поток до генерации сигналов указанных в <set>. Номер сгенерированного сигнала помещается в <sig>.
Таблица 15. Стандартные сигналы
Сигнал | Назначение |
SIGHUP | Освобождение линии. |
SIGINT | Прерывание процесса. |
SIGQUIT | Выход. |
SIGILL | Недостоверная инструкция. |
SIGTRAP | Трассировочное прерывание. |
SIGIOT | Машинная команда IOT. |
SIGABRT | Аварийное прерывание. |
SIGEMPT | Машинная команда EMT. |
SIGFPE | Исключение floatpoint. |
SIGKILL | Уничтожение процесса (KILL). |
SIGBUS | Ошибка шины (bus error). |
SIGSYS | Ошибка сегментации памяти. |
SIGPIPE | Запись в канал, из которого некому читать. |
SIGALRM | Будильник (alarm clock). |
SIGPROF | Срабатывание профилирующего таймера. Устанавливается: setitimer(ITIMER_PROF, ..) |
SIGVTALRM | Срабатывание виртуального таймера. Устанавл.: setitimer(ITIMER_VIRTUAL, ..) |
SIGTERM | Программный сигнал завершения. |
SIGUSR1 | Пользовательский сигнал 1. |
SIGUSR2 | Пользовательский сигнал 2. |
SIGCHLD | Завершение порожденного процесса. |
SIGPWR | Ошибка питания (power fail). |
SIGWIND | Изменение окна. |
SIGPHONE | Изменение строки состояния. |
SIGPOLL | Возникновение опрашиваемого события. |
_NSIG | Максимальный сигнал. |
SIGCONT | Продолжения работы остановленого процесса. |
SIGSTOP | Сигнал останова. |
SIGTSTR | Терминальный сигнал остановки (Ctrl Z). |
SIGTTIN | Попытка ввода с терминала фоновым процессом. |
SIGTTOUT | Попытка вывода на терминал фоновым процессом. |
SIGURG | Поступление в буфер сокета срочных данных. |
SIGXCPU | Превышение лимита процессорного времени. |
SIGXFSZ | Превышение лимита на размер файла. |