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).

Interface Attribute Value
raise() Thread safety MT-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)


This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

abort(3), gsignal(3), pthread_kill(3), pthsem(3), sigaction(2), signal(2), signal(7), signal-safety(7), sigprocmask(2), sigset(3), sigvec(3), tickit_term_pause(3).

2015-08-08 GNU Linux Programmer's Manual