SIGSYS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
SIGSYS
Описание Неправильный аргумент системного вызова
По умолчанию завершение процесса
Коды SA_SIGINFO
Не имеет специфических кодов

В POSIX-системах, SIGSYS — сигнал, предназначенный для посылки программе, при попытке передать неправильный аргумент в системный вызов.

SIGSYS — целочисленная константа, определенная в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

Этимология

[править | править код]

SIG — общий префикс сигналов (от англ. signal), SYS — сокращенное написание англ. system call — системный вызов.

Использование

[править | править код]

Теоретически, SIGSYS может быть послан, когда процесс передает неправильный аргумент в системный вызов. На практике же, система возвращает ENOSYS, если системного вызова с запрошенным кодом не существует или соответствующую ошибку, если аргумент системного вызова неправилен (например, EBADF, если заданного файлового дескриптора не существует). POSIX.1 говорит о SIGSYS следующим образом:

There is very little that a conforming POSIX.1 application can do by catching, ignoring or masking ... SIGSYS. ...
One portable use that does exist ... is that a command interpreter can recognize them as the cause of a process's termination.
Приложение, отвечающее POSIX.1 при перехвате SIGSYS, мало что может сделать с ним.
Например, командный интерпретатор может указать его как причину завершения процесса.