diff -r 01fc5dc8e0db -r 99698e5d7b63 signal.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/signal.rst Sun May 16 18:54:22 2010 +0300 @@ -0,0 +1,279 @@ +-*- mode: outline; coding: utf-8 -*- + +* Send signal to process. + + $ kill -s NAME PID + +Under C you can use kill(2) system call which will send the specified signal +to the process, if permissions allow, or raise(3) library function, which +sends the specified signal to the current process. + +* List of signals. + + $ kill --list + $ kill -l # short variant + +See + + http://en.wikipedia.org/wiki/Unix_signals + +** SIGHUP 1. + +Hangup. Type: notification, can be handled. + +Sent when assigned to process terminal closed. + +nohup(1) utility used as a wrapper to start a program and make it immune to +SIGHUP. + +The default action on POSIX-compliant systems is an abnormal termination. + +Demon used this signal as commant to reread config file. + +** SIGINT 2 + +Interrupt. Ctrl-C. Type: control, can be handled. + +Signal sent to a process by its controlling terminal when a user wishes to +interrupt the process. + +By default, this causes the process to terminate. + +** SIGQUIT 3. + +Quit. Ctrl-\. Type: control. + +Signal sent to a process by its controlling terminal when the user requests +that the process dump core. + +By default, this causes the process to terminate and produce a memory core dump. + +** SIGILL 4. + +Illegal instruction. Type: exception, can not be handled. + +Signal sent to a process when it attempts to execute a malformed, unknown, or +privileged instruction. + +** SIGTRAP 5. + +Trace trap. Type: debug, can be handled. + +Signal sent to a process when a condition arises that a debugger has requested +to be informed of. + +By default this causes abnormal termination of the process. + +** SIGABRT 6. + +Type: control, can be handled. + +Signal sent to a computer program to tell it to abort, ie terminate. + +SIGABRT is sent by the process to itself when it calls the abort libc +function. It is used when an assertion fails. + +By default this causes abnormal termination of the process. + +** SIGEMT 7. + +Emt instruction. + +** SIGFPE 8. + +Floating point exception. Type: exception, can be handled. + +Signal sent to a process when it performs an erroneous arithmetic operation +(like division by zero). + +By default cause a core dump and a program exit. + +** SIGKILL 9. + +Kill. Type: control, can not be handled. + +Signal sent to a process to cause it to terminate immediately. + +Zombie processes cannot be killed since they are already dead and waiting for +their parent processes to reap them. + +Processes that are in the blocked state will not die until they wake up again. + +** SIGBUS 10. + +Bus error. Type: exception, can not be handled. + +Signal sent to a process when it causes a bus error. + +By default this causes abnormal termination of the process. + +** SIGSEGV 11. + +Segmentation violation. Type: exception. + +Signal sent to a process when it makes an invalid memory reference, or +segmentation fault. + +By default cause a core dump and a program exit. + +** SIGSYS 12. + +Bad argument to system call. Type: exception. + +By default this causes abnormal termination of the process. + +** SIGPIPE 13. + +Write on a pipe with no one to read it. Type: notification. + +Signal sent to a process when it attempts to write to a pipe without a process +connected to the other end. + +This causes the process to terminate, which is convenient when constructing +shell pipelines. + +** SIGALRM 14. + +Alarm clock. Type: notification. + +Signal sent to a process when a time limit has elapsed. + +By default this causes abnormal termination of the process. + +** SIGTERM 15. + +Software termination signal. Type: control. + +Signal sent to a process to request its termination. + +It causes the termination of a process, but unlike the SIGKILL signal, it can +be caught and interpreted (or ignored) by the process. + +SIGTERM is akin to asking a process to terminate nicely, allowing cleanup and +closure of files. For this reason, on many Unix systems during shutdown, init +issues SIGTERM to all processes that are not essential to powering off, waits +a few seconds, and then issues SIGKILL to forcibly terminate any such +processes that remain. + +By default kill(1) send to process SIGTERM signal. + +** SIGURG 16. + +Urgent condition on IO channel. Type: notification. + +By default this signal ignored. + +** SIGSTOP 17. + +Signal sent to a process to stop it for later resumption. Type: control. + +SIGSTOP cannot be caught or ignored. + +Usually SIGSTOP and SIGCONT are used for job control in the Unix shell. + +** SIGTSTP 18. + +Stop signal from tty. Ctrl-Z. Type: control. + +By default, this causes the process to suspend execution. + +** SIGCONT 19. + +Continue a stopped process. Type: control. + +Signal sent to restart a process previously paused by the SIGSTOP or SIGTSTP +signal. + +** SIGCHLD 20. + +To parent on child stop or exit. Type: notification. + +By default the signal is simply ignored. In C: + + signal(SIGCHLD, SIG_IGN); + +Parent can invoke wait(1) otherwise children stay zombie. + +** SIGTTIN 21. + +Signal sent to a process when it attempts to read from the tty while in the +background. + +Daemons do not have controlling terminals and should never receive this +signal. + +By default this causes suspends of the process. + +** SIGTTOU 22. + +Signal sent to a process when it attempts to write to the tty while in the +background. + +Daemons do not have controlling terminals and should never receive this +signal. + +By default this causes suspends of the process. + +** SIGPOLL 23. + +System V name for SIGIO. Type: notification. + +Signal sent to a process when an asynchronous I/O event occurs. + +By default this causes abnormal termination of the process. + +** SIGXCPU 24. + +Exceeded CPU time limit. Type: notification. + +By default this causes abnormal termination of the process. + +** SIGXFSZ 25. + +Exceeded file size limit as determined by the ulimit system call and shell +builtin. Type: notification. + +By default this causes abnormal termination of the process. + +** SIGVTALRM 26. + +Virtual time alarm. Type: notification. + +Signal sent to a process when a time limit has elapsed. + +By default this causes abnormal termination of the process. + +** SIGPROF 27. + +Profiling time alarm. Type: debug. + +Signal sent to a process when the profiling timer expires. + +By default this causes abnormal termination of the process. + +** SIGWINCH 28. + +Window changed. Type: notification. + +Signal sent to a process when its controlling terminal changes size. + +By default this signal ignored. + +** SIGLOST 29. + +Signal sent to process when a file lock is lost. This may occur, for example, +when an NFS server reboots and forgets about a file lock. + +By default this causes abnormal termination of the process. + +** SIGUSR1 30. + +User defined signal 1. Type: user defined. + +By default this causes abnormal termination of the process. + +** SIGUSR2 31. + +User defined signal 2. Type: user defined. + +By default this causes abnormal termination of the process.