The OpenNET Project / Index page

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

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

 [Cписок руководств | Печать]

signal (3)
  • signal (2) ( Русские man: Системные вызовы )
  • signal (2) ( Linux man: Системные вызовы )
  • signal (3) ( Solaris man: Библиотечные вызовы )
  • >> signal (3) ( FreeBSD man: Библиотечные вызовы )
  • signal (3) ( POSIX man: Библиотечные вызовы )
  • signal (7) ( Русские man: Макропакеты и соглашения )
  • signal (7) ( Linux man: Макропакеты и соглашения )
  • signal (9) ( FreeBSD man: Ядро )
  • Ключ signal обнаружен в базе ключевых слов.

  • BSD mandoc


     - simplified software signal facilities


    Lb libc


       #include <signal.h>

    void * Ns Fo signal Fa int sig Fa void *funcint Fc Ns int ;

    or in Fx Ap s equivalent but easier to read typedef'd version: typedef void *sig_t int ;

    sig_t signal (int sig sig_t func);


    This signal ();
    facility is a simplified interface to the more general sigaction(2) facility.

    Signals allow the manipulation of a process from outside its domain as well as allowing the process to manipulate itself or copies of itself (children). There are two general types of signals: those that cause termination of a process and those that do not. Signals which cause termination of a program might result from an irrecoverable error or might be the result of a user at a terminal typing the `interrupt' character. Signals are used when a process is stopped because it wishes to access its control terminal while in the background (see tty(4)). Signals are optionally generated when a process resumes after being stopped, when the status of child processes changes, or when input is ready at the control terminal. Most signals result in the termination of the process receiving them if no action is taken; some signals instead cause the process receiving them to be stopped, or are simply discarded if the process has not requested otherwise. Except for the SIGKILL and SIGSTOP signals, the signal ();
    function allows for a signal to be caught, to be ignored, or to generate an interrupt. These signals are defined in the file In signal.h :

    Name  Default Action  Description
    1 Ta SIGHUP Ta terminate process Ta terminal line hangup
    2 Ta SIGINT Ta terminate process Ta interrupt program
    3 Ta SIGQUIT Ta create core image Ta quit program
    4 Ta SIGILL Ta create core image Ta illegal instruction
    5 Ta SIGTRAP Ta create core image Ta trace trap
    6 Ta SIGABRT Ta create core image Ta abort program
    7 Ta SIGEMT Ta create core image Ta emulate instruction executed
    8 Ta SIGFPE Ta create core image Ta floating-point exception
    9 Ta SIGKILL Ta terminate process Ta kill program
    10 Ta SIGBUS Ta create core image Ta bus error
    11 Ta SIGSEGV Ta create core image Ta segmentation violation
    12 Ta SIGSYS Ta create core image Ta non-existent system call invoked
    13 Ta SIGPIPE Ta terminate process Ta write on a pipe with no reader
    14 Ta SIGALRM Ta terminate process Ta real-time timer expired
    15 Ta SIGTERM Ta terminate process Ta software termination signal
    16 Ta SIGURG Ta discard signal Ta urgent condition present on socket
    17 Ta SIGSTOP Ta stop process Ta stop (cannot be caught or ignored)
    18 Ta SIGTSTP Ta stop process Ta stop signal generated from keyboard
    19 Ta SIGCONT Ta discard signal Ta continue after stop
    20 Ta SIGCHLD Ta discard signal Ta child status has changed
    21 Ta SIGTTIN Ta stop process Ta background read attempted from
    control terminal
    22 Ta SIGTTOU Ta stop process Ta background write attempted to
    control terminal
    23 Ta SIGIO Ta discard signal Ta I/O
    is possible on a descriptor (see fcntl(2))
    24 Ta SIGXCPU Ta terminate process Ta cpu time limit exceeded (see
    25 Ta SIGXFSZ Ta terminate process Ta file size limit exceeded (see
    26 Ta SIGVTALRM Ta terminate process Ta virtual time alarm (see
    27 Ta SIGPROF Ta terminate process Ta profiling timer alarm (see
    28 Ta SIGWINCH Ta discard signal Ta Window size change
    29 Ta SIGINFO Ta discard signal Ta status request from keyboard
    30 Ta SIGUSR1 Ta terminate process Ta User defined signal 1
    31 Ta SIGUSR2 Ta terminate process Ta User defined signal 2
    32 Ta SIGTHR Ta terminate process Ta thread interrupt

    The Fa sig argument specifies which signal was received. The Fa func procedure allows a user to choose the action upon receipt of a signal. To set the default action of the signal to occur as listed above, Fa func should be SIG_DFL A SIG_DFL resets the default action. To ignore the signal Fa func should be SIG_IGN This will cause subsequent instances of the signal to be ignored and pending instances to be discarded. If SIG_IGN is not used, further occurrences of the signal are automatically blocked and Fa func is called.

    The handled signal is unblocked when the function returns and the process continues from where it left off when the signal occurred. Bf -symbolic Unlike previous signal facilities, the handler func() remains installed after a signal has been delivered. Ef

    For some system calls, if a signal is caught while the call is executing and the call is prematurely terminated, the call is automatically restarted. (The handler is installed using the SA_RESTART flag with sigaction(2).) The affected system calls include read(2), write(2), sendto(2), recvfrom(2), sendmsg(2) and recvmsg(2) on a communications channel or a low speed device and during a ioctl(2) or wait(2). However, calls that have already committed are not restarted, but instead return a partial success (for example, a short read count). These semantics could be changed with siginterrupt(3).

    When a process which has installed signal handlers forks, the child process inherits the signals. All caught signals may be reset to their default action by a call to the execve(2) function; ignored signals remain ignored.

    If a process explicitly specifies SIG_IGN as the action for the signal SIGCHLD the system will not create zombie processes when children of the calling process exit. As a consequence, the system will discard the exit status from the child processes. If the calling process subsequently issues a call to wait(2) or equivalent, it will block until all of the calling process's children terminate, and then return a value of -1 with errno set to Er ECHILD .

    See sigaction(2) for a list of functions that are considered safe for use in signal handlers.  


    The previous action is returned on a successful call. Otherwise, SIG_ERR is returned and the global variable errno is set to indicate the error.  


    The signal ();
    function will fail and no action will take place if one of the following occur:

    Bq Er EINVAL
    The Fa sig argument is not a valid signal number.
    Bq Er EINVAL
    An attempt is made to ignore or supply a handler for SIGKILL or SIGSTOP



    kill(1), kill(2), ptrace(2), sigaction(2), sigaltstack(2), sigprocmask(2), sigsuspend(2), wait(2), fpsetmask(3), setjmp(3), siginterrupt(3), tty(4)  


    The facility appeared in BSD 4.0 The option to avoid the creation of child zombies through ignoring SIGCHLD appeared in Fx 5.0 .




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

    Inferno Solutions
    Hosting by

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