From cppreference.com
< c‎ | program
Defined in header <signal.h>
int raise( int sig );

Sends signal sig to the program. The signal handler, specified using signal(), is invoked.

If the user-defined signal handling strategy is not set using signal() yet, it is implementation-defined whether the signal will be ignored or default handler will be invoked.


sig - the signal to be sent. It can be an implementation-defined value or one of the following values:
defines signal types
(macro constant)

Return value

0 upon success, non-zero value on failure.


#include <signal.h>
#include <stdio.h>
void signal_handler(int signal)
    printf("Received signal %d\n", signal);
int main(void)
    // Install a signal handler.
    signal(SIGTERM, signal_handler);
    printf("Sending signal %d\n", SIGTERM);
    printf("Exit main()\n");


Sending signal 15
Received signal 15
Exit main()


  • C11 standard (ISO/IEC 9899:2011):
  • The raise function (p: 267)
  • C99 standard (ISO/IEC 9899:1999):
  • The raise function (p: 248)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • The raise function

See also

sets a signal handler for particular signal