signal(3tcl)                                                        signal(3tcl)

       signal - dynamically loadable signal handling for Tcl/Tk

       signal (add|delete|print|version) [options]

   add signo proc [-async]
       Adds a signal handler for signal signo through proc proc.  Signals can be
       provided by number, or the most common ones are provided by name (e.g.,
       SIGHUP).  The proc is any Tcl procedure, and it is evaluated when the
       signal comes in.  It will be provided no arguments.

       Signal handlers have Posix semantics - they persist until reset.

       If -async is used, the signal handler is created using Tcl_AsyncCreate().
       Checks for the signal are very frequent (each evaluation) using this
       technique, but one doesn't know quite where evaluation is or how to
       handle errors in this situation. The code will evaluate the provided
       procedure in the current interpreter if available, and in the interpreter
       which added the signal handler otherwise. At least until a better scheme
       is suggested.

       The -async is especially useful to interrupt "runaway" procs, or to cause
       a quick exit; the default mechanism simply waits for another MainLoop

   signal delete signo
       Restores handling of signal signo to the default ( SIG_DFL ).

   signal print
       Prints the handling of all signals with handlers. Formatted as
        signal ----> procedure or as
        signal !---> procedure

       if the signal is handled asynchronously

   signal print signo
       Prints the procedure for handling signal signo.  Prints the word
       UNHANDLED if no signal handler is active for that signal.

   signal version
       Returns the string representing the current version of the package

       Michael Schwartz <>. Tilman Kranz <>
       patched this for wider portability on Linux

Tcl Signal Extension      Tcl                      signal(3tcl)