---
name: "strsignal"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/strsignal"
---

# strsignal(3)

string signal description

## NAME

strsignal, sigabbrev\_np, sigdescr\_np, sys\_siglist - string signal description

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <string.h>
```

**char \*strsignal(int** *sig***);** **const char \*sigdescr\_np(int** *sig***);** **const char \*sigabbrev\_np(int** *sig***);**

**\[\[deprecated\]\] extern const char \*const** *sys\_siglist***\[\];**

Feature Test Macro Requirements for glibc (see [**feature\_test\_macros**(7)](/feature_test_macros/7.md)):

**sigabbrev\_np**(), **sigdescr\_np**():

```
    _GNU_SOURCE
```

**strsignal**():

```
    From glibc 2.10 to glibc 2.31:
        _POSIX_C_SOURCE >= 200809L
    Before glibc 2.10:
        _GNU_SOURCE
```

*sys\_siglist*:

```
    Since glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 and earlier:
        _BSD_SOURCE
```

## DESCRIPTION

The **strsignal**() function returns a string describing the signal number passed in the argument *sig*. The string can be used only until the next call to **strsignal**(). The string returned by **strsignal**() is localized according to the **LC\_MESSAGES** category in the current locale.

The **sigdescr\_np**() function returns a string describing the signal number passed in the argument *sig*. Unlike **strsignal**() this string is not influenced by the current locale.

The **sigabbrev\_np**() function returns the abbreviated name of the signal, *sig*. For example, given the value **SIGINT**, it returns the string "INT".

The (deprecated) array *sys\_siglist* holds the signal description strings indexed by signal number. The **strsignal**() or the **sigdescr\_np**() function should be used instead of this array; see also VERSIONS.

## RETURN VALUE

The **strsignal**() function returns the appropriate description string, or an unknown signal message if the signal number is invalid. On some systems (but not on Linux), NULL may instead be returned for an invalid signal number.

The **sigdescr\_np**() and **sigabbrev\_np**() functions return the appropriate description string. The returned string is statically allocated and valid for the lifetime of the program. These functions return NULL for an invalid signal number.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **strsignal**() | Thread safety | MT-Unsafe race:strsignal locale |
| **sigdescr\_np**(), **sigabbrev\_np**() | Thread safety | MT-Safe |

## STANDARDS

- **strsignal**()

  POSIX.1-2008.

- **sigdescr\_np**() **sigabbrev\_np**()

  GNU.

- *sys\_siglist*

  None.

## HISTORY

- **strsignal**()

  POSIX.1-2008. Solaris, BSD.

- **sigdescr\_np**() **sigabbrev\_np**()

  glibc 2.32.

- *sys\_siglist*

  Removed in glibc 2.32.

## NOTES

**sigdescr\_np**() and **sigabbrev\_np**() are thread-safe and async-signal-safe.

## SEE ALSO

[**psignal**(3)](/psignal/3.md), [**strerror**(3)](/strerror/3.md)
