raise man page

raise — send a signal to the caller


#include <signal.h>

int raise(int sig);


The raise() function sends a signal to the calling process or thread. In a single-threaded program it is equivalent to

kill(getpid(), sig);

In a multithreaded program it is equivalent to

pthread_kill(pthread_self(), sig);

If the signal causes a handler to be called, raise() will return only after the signal handler has returned.

Return Value

raise() returns 0 on success, and nonzero for failure.


For an explanation of the terms used in this section, see attributes(7).

raise()Thread safetyMT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008, C89, C99.


Since version 2.3.3, glibc implements raise() by calling tgkill(2), if the kernel supports that system call. Older glibc versions implemented raise() using kill(2).

See Also

getpid(2), kill(2), sigaction(2), signal(2), pthread_kill(3), signal(7)

Referenced By

abort(3), explain(1), explain(3), explain_raise(3), explain_raise_or_die(3), gsignal(3), pth(3), pthread_kill(3), pthsem(3), sigaction(2), signal(2), signal(7), sigprocmask(2), sigset(3), sigvec(3).

Explore man page connections for raise(3).