A signal is an asynchronous event transmitted between one process and another (in Linux, UNIX and other POSIX-compliant operating systems, and also in several real-time operating system). The kill() system call is used to send signals, and the signal() system call is used to set up signal handlers—functions to call when a process receives a signal.