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

# EXIT\_SUCCESS(3const)

termination status constants

## NAME

EXIT\_SUCCESS, EXIT\_FAILURE - termination status constants

## LIBRARY

Standard C library (*libc*)

## SYNOPSIS

```
#include <stdlib.h>
```

**#define EXIT\_SUCCESS**  0 **#define EXIT\_FAILURE**  /\* nonzero \*/

## DESCRIPTION

**EXIT\_SUCCESS** and **EXIT\_FAILURE** represent a successful and unsuccessful exit status respectively, and can be used as arguments to the [**exit**(3)](/exit/3.md) function.

## STANDARDS

C11, POSIX.1-2024.

## HISTORY

- **EXIT\_SUCCESS**

  C89, POSIX.1-1988.

- **EXIT\_FAILURE**

  C89, POSIX.1-1990.

## EXAMPLES

```
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
    FILE *fp;
    if (argc != 2) {
        fprintf(stderr, "Usage: %s <file>\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    fp = fopen(argv[1], "r");
    if (fp == NULL) {
        perror(argv[1]);
        exit(EXIT_FAILURE);
    }
    /* Other code omitted */
    fclose(fp);
    exit(EXIT_SUCCESS);
}
```

## SEE ALSO

[**exit**(3)](/exit/3.md), [**sysexits.h**(3head)](/sysexits.h/3head.md)
