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 | Превышение лимита на размер файла. |