linux 进程与errno,linux errno查看和使用

1. void perror(const char *s)

函数说明

perror ( )用来将上一个函数发生错误的原因输出到标准错误(stderr),参数s 所指的字符串会先打印出,后面再加上错误原因 字符串。此错误原因依照全局变量 errno 的值来决定要输出的字符串。

2.  char *strerror(int errno)

将错误代码转换为字符串错误信息。

errno 在 中定义。

错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的  errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。

#defineEPERM1/* Operation not permitted */

#defineENOENT2/* No such file or directory */

#defineESRCH 3/* No such process */

#defineEINTR 4/* Interrupted system call */

#defineEIO  5/* I/O error */

#defineENXIO 6/* No such device or address */

#defineE2BIG 7/* Argument list too long */

#defineENOEXEC 8/* Exec format error */

#defineEBADF 9/* Bad file number */

#defineECHILD10/* No child processes */

#defineEAGAIN11/* Try again */

#defineENOMEM12/* Out of memory */

#defineEACCES13/* Permission denied */

#defineEFAULT14/* Bad address */

#defineENOTBLK15/* Block device required */

#defineEBUSY 16/* Device or resource busy */

#defineEEXIST17/* File exists */

#defineEXDEV 18/* Cross-device link */

#defineENODEV19/* No such device */

#defineENOTDIR20/* Not a directory */

#defineEISDIR21/* Is a directory */

#defineEINVAL22/* Invalid argument */

#defineENFILE23/* File table overflow */

#defineEMFILE24/* Too many open files */

#defineENOTTY25/* Not a typewriter */

#defineETXTBSY26/* Text file busy */

#defineEFBIG 27/* File too large */

#defineENOSPC28/* No space left on device */

#defineESPIPE29/* Illegal seek */

#defineEROFS 30/* Read-only file system */

#defineEMLINK31/* Too many links */

#defineEPIPE 32/* Broken pipe */

#defineEDOM 33/* Math argument out of domain of func */

#defineERANGE34/* Math result not representable */

#defineEDEADLK35/* Resource deadlock would occur */ #defineENAMETOOLONG36/* File name too long */ #defineENOLCK37/* No record locks available */ #defineENOSYS38/* Function not implemented */ #defineENOTEMPTY39/* Directory not empty */ #defineELOOP 40/* Too many symbolic links encountered */ #defineEWOULDBLOCKEAGAIN/* Operation would block */ #defineENOMSG42/* No message of desired type */ #defineEIDRM 43/* Identifier removed */ #defineECHRNG44/* Channel number out of range */ #defineEL2NSYNC45/* Level 2 not synchronized */ #defineEL3HLT46/* Level 3 halted */ #defineEL3RST47/* Level 3 reset */ #defineELNRNG48/* Link number out of range */ #defineEUNATCH49/* Protocol driver not attached */ #defineENOCSI50/* No CSI structure available */ #defineEL2HLT51/* Level 2 halted */ #defineEBADE 52/* Invalid exchange */ #defineEBADR 53/* Invalid request descriptor */ #defineEXFULL54/* Exchange full */ #defineENOANO55/* No anode */ #defineEBADRQC56/* Invalid request code */ #defineEBADSLT57/* Invalid slot */ #defineEDEADLOCKEDEADLK #defineEBFONT59/* Bad font file format */ #defineENOSTR60/* Device not a stream */ #defineENODATA61/* No data available */ #defineETIME 62/* Timer expired */ #defineENOSR 63/* Out of streams resources */ #defineENONET64/* Machine is not on the network */ #defineENOPKG65/* Package not installed */ #defineEREMOTE66/* Object is remote */ #defineENOLINK67/* Link has been severed */ #defineEADV 68/* Advertise error */ #defineESRMNT69/* Srmount error */ #defineECOMM 70/* Communication error on send */ #defineEPROTO71/* Protocol error */ #defineEMULTIHOP72/* Multihop attempted */ #defineEDOTDOT73/* RFS specific error */ #defineEBADMSG74/* Not a data message */ #defineEOVERFLOW75/* Value too large for defined data type */ #defineENOTUNIQ76/* Name not unique on network */ #defineEBADFD77/* File descriptor in bad state */ #defineEREMCHG78/* Remote address changed */ #defineELIBACC79/* Can not access a needed shared library */ #defineELIBBAD80/* Accessing a corrupted shared library */ #defineELIBSCN81/* .lib section in a.out corrupted */ #defineELIBMAX82/* Attempting to link in too many shared libraries */ #defineELIBEXEC83/* Cannot exec a shared library directly */ #defineEILSEQ84/* Illegal byte sequence */ #defineERESTART85/* Interrupted system call should be restarted */ #defineESTRPIPE86/* Streams pipe error */ #defineEUSERS87/* Too many users */ #defineENOTSOCK88/* Socket operation on non-socket */ #defineEDESTADDRREQ89/* Destination address required */ #defineEMSGSIZE90/* Message too long */ #defineEPROTOTYPE91/* Protocol wrong type for socket */ #defineENOPROTOOPT92/* Protocol not available */ #defineEPROTONOSUPPORT93/* Protocol not supported */ #defineESOCKTNOSUPPORT94/* Socket type not supported */ #defineEOPNOTSUPP95/* Operation not supported on transport endpoint */ #defineEPFNOSUPPORT96/* Protocol family not supported */ #defineEAFNOSUPPORT97/* Address family not supported by protocol */ #defineEADDRINUSE98/* Address already in use */ #defineEADDRNOTAVAIL99/* Cannot assign requested address */ #defineENETDOWN100/* Network is down */ #defineENETUNREACH101/* Network is unreachable */ #defineENETRESET102/* Network dropped connection because of reset */ #defineECONNABORTED103/* Software caused connection abort */ #defineECONNRESET104/* Connection reset by peer */ #defineENOBUFS105/* No buffer space available */ #defineEISCONN106/* Transport endpoint is already connected */ #defineENOTCONN107/* Transport endpoint is not connected */ #defineESHUTDOWN108/* Cannot send after transport endpoint shutdown */ #defineETOOMANYREFS109/* Too many references: cannot splice */ #defineETIMEDOUT110/* Connection timed out */ #defineECONNREFUSED111/* Connection refused */ #defineEHOSTDOWN112/* Host is down */ #defineEHOSTUNREACH113/* No route to host */ #defineEALREADY114/* Operation already in progress */ #defineEINPROGRESS115/* Operation now in progress */ #defineESTALE116/* Stale NFS file handle */ #defineEUCLEAN117/* Structure needs cleaning */ #defineENOTNAM118/* Not a XENIX named type file */ #defineENAVAIL119/* No XENIX semaphores available */ #defineEISNAM120/* Is a named type file */ #defineEREMOTEIO121/* Remote I/O error */ #defineEDQUOT122/* Quota exceeded */ #defineENOMEDIUM123/* No medium found */ #defineEMEDIUMTYPE124/* Wrong medium type */ #defineECANCELED125/* Operation Canceled */ #defineENOKEY126/* Required key not available */ #defineEKEYEXPIRED127/* Key has expired */ #defineEKEYREVOKED128/* Key has been revoked */ #defineEKEYREJECTED129/* Key was rejected by service */ /* for robust mutexes */ #defineEOWNERDEAD130/* Owner died */ #defineENOTRECOVERABLE131/* State not recoverable */ #define ERFKILL132/* Operation not possible due to RF-kill */ #define EHWPOISON133/* Memory page has hardware error */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值