Are there any standard exit status codes in Linux?

后端 未结 10 1797
醉话见心
醉话见心 2020-11-22 06:46

A process is considered to have completed correctly in Linux if its exit status was 0.

I\'ve seen that segmentation faults often result in an exit status of 11, thou

10条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-22 07:09

    Part 1: Advanced Bash Scripting Guide

    As always, the Advanced Bash Scripting Guide has great information: (This was linked in another answer, but to a non-canonical URL.)

    1: Catchall for general errors
    2: Misuse of shell builtins (according to Bash documentation)
    126: Command invoked cannot execute
    127: "command not found"
    128: Invalid argument to exit
    128+n: Fatal error signal "n"
    255: Exit status out of range (exit takes only integer args in the range 0 - 255)

    Part 2: sysexits.h

    The ABSG references sysexits.h.

    On Linux:

    $ find /usr -name sysexits.h
    /usr/include/sysexits.h
    $ cat /usr/include/sysexits.h
    
    /*
     * Copyright (c) 1987, 1993
     *  The Regents of the University of California.  All rights reserved.
    
     (A whole bunch of text left out.)
    
    #define EX_OK           0       /* successful termination */
    #define EX__BASE        64      /* base value for error messages */
    #define EX_USAGE        64      /* command line usage error */
    #define EX_DATAERR      65      /* data format error */
    #define EX_NOINPUT      66      /* cannot open input */    
    #define EX_NOUSER       67      /* addressee unknown */    
    #define EX_NOHOST       68      /* host name unknown */
    #define EX_UNAVAILABLE  69      /* service unavailable */
    #define EX_SOFTWARE     70      /* internal software error */
    #define EX_OSERR        71      /* system error (e.g., can't fork) */
    #define EX_OSFILE       72      /* critical OS file missing */
    #define EX_CANTCREAT    73      /* can't create (user) output file */
    #define EX_IOERR        74      /* input/output error */
    #define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
    #define EX_PROTOCOL     76      /* remote error in protocol */
    #define EX_NOPERM       77      /* permission denied */
    #define EX_CONFIG       78      /* configuration error */
    
    #define EX__MAX 78      /* maximum listed value */
    

提交回复
热议问题