man(1) Manual page archive

 SIGNAL(2) SIGNAL(2)
 NAME
 signal - catch or ignore signals
 SYNOPSIS
 #include <signal.h>
 (*signal(sig, func))()
 (*func)();
 DESCRIPTION
 A signal is generated by some abnormal event, initiated
 either by user at a typewriter (quit, interrupt), by a pro-
 gram error (bus error, etc.), or by request of another pro-
 gram (kill). Normally all signals cause termination of the
 receiving process, but a signal call allows them either to
 be ignored or to cause an interrupt to a specified location.
 Here is the list of signals with names as in the include
 file.
 SIGHUP 1 hangup
 SIGINT 2 interrupt
 SIGQUIT 3* quit
 SIGILL 4* illegal instruction (not reset when caught)
 SIGTRAP 5* trace trap (not reset when caught)
 SIGIOT 6* IOT instruction
 SIGEMT 7* EMT instruction
 SIGFPE 8* floating point exception
 SIGKILL 9 kill (cannot be caught or ignored)
 SIGBUS 10* bus error
 SIGSEGV 11* segmentation violation
 SIGSYS 12* bad argument to system call
 SIGPIPE 13 write on a pipe or link with no one to read it
 SIGALRM 14 alarm clock
 SIGTERM 15 software termination signal
 16 unassigned
 The starred signals in the list above cause a core image if
 not caught or ignored.
 If func is SIG_DFL, the default action for signal sig is
 reinstated; this default is termination, sometimes with a
 core image. If func is SIG_IGN the signal is ignored. Oth-
 erwise when the signal occurs func will be called with the
 signal number as argument. A return from the function will
 continue the process at the point it was interrupted.
 Except as indicated, a signal is reset to SIG_DFL after
 being caught. Thus if it is desired to catch every such
 signal, the catching routine must issue another signal call.
 When a caught signal occurs during certain system calls, the
 SIGNAL(2) SIGNAL(2)
 call terminates prematurely. In particular this can occur
 during a read or write(2) on a slow device (like a type-
 writer; but not a file); and during pause or wait(2). When
 such a signal occurs, the saved user status is arranged in
 such a way that when return from the signal-catching takes
 place, it will appear that the system call returned an error
 status. The user's program may then, if it wishes, re-
 execute the call.
 The value of signal is the previous (or initial) value of
 func for the particular signal.
 After a fork(2) the child inherits all signals. Exec(2)
 resets all caught signals to default action.
 SEE ALSO
 kill(1), kill(2), ptrace(2), setjmp(3)
 DIAGNOSTICS
 The value (int)-1 is returned if the given signal is out of
 range.
 BUGS
 If a repeated signal arrives before the last one can be
 reset, there is no chance to catch it.
 The type specification of the routine and its func argument
 are problematical.
 ASSEMBLER
 (signal = 48.)
 sys signal; sig; label
 (old label in r0)
 If label is 0, default action is reinstated. If label is
 odd, the signal is ignored. Any other even label specifies
 an address in the process where an interrupt is simulated.
 An RTI or RTT instruction will return from the interrupt.

AltStyle によって変換されたページ (->オリジナル) /