Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

Unix Version 7 - man page for signal (v7 section 2)

SIGNAL(2)			       System Calls Manual				SIGNAL(2)

       signal - catch or ignore signals

       #include <signal.h>

       (*signal(sig, func))()

       A  signal  is  generated  by some abnormal event, initiated either by user at a typewriter
       (quit, interrupt), by a program error (bus error, etc.), or by request of another  program
       (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 ter-
       mination, sometimes with a core image.  If func is SIG_IGN the signal is ignored.   Other-
       wise  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 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.

       kill(1), kill(2), ptrace(2), setjmp(3)

       The value (int)-1 is returned if the given signal is out of range.

       If a repeated signal arrives before the last one can be reset, there is no chance to catch

       The type specification of the routine and its func argument are problematical.

       (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.


All times are GMT -4. The time now is 07:11 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password