logo

Códigos de erro do Linux

Os códigos de erro do Linux são aqueles exibidos se ocorrer um erro no sistema durante o trabalho ou uso de um programa. Os erros podem ser reconhecidos com a ajuda de códigos de erro. Os códigos de erro nos ajudam a reconhecer a origem do erro.

Se estivermos trabalhando em um sistema Linux, é óbvio que podemos encontrar erros. Alguns erros podem ser pequenos e não levar à interrupção do programa. Mas pode haver alguns erros que podem fazer com que um sistema ou programa pare de responder. Esses erros podem levar à perda de dados ou impedir a conclusão do programa. Principalmente os erros são exibidos na forma de códigos ou mensagens.

Nesta seção, veremos erros na programação C e uma lista de possíveis erros na Linux sistema.

Erros Linux na programação C

Um programador qualificado deve saber como lidar com os erros. A linguagem de programação C não fornece suporte direto para tratamento de erros. Temos que detectar a origem do erro e lidar com ele. Na linguagem C, os valores de retorno exibem a falha ou o sucesso. Se uma função no programa C falhar, devemos tratar o erro adequadamente; caso contrário, ele registra os últimos erros em um arquivo de log.

Ao executar os programas C, podemos notar alguns números de erro como 'Erro no is: 17'. Aqui, o erro nº 17 significa que o arquivo já existe. Cada número de erro tem algum significado.

A linguagem C suporta uma variável 'erro .' Ao usar esta variável de número de erro, podemos usar algumas funções de tratamento de erros para tratá-la adequadamente.

Para usar o número de erro da variável externa, temos que incluir um arquivo de cabeçalho 'errno.h.' O arquivo de cabeçalho é usado para definir a variável 'errno'. A variável errno é definida pelas chamadas do sistema e funções da biblioteca na ocorrência do erro. Existem duas funções importantes no Linguagem de programação C lidar com erros; erro e Estrerror . A função perror é usada para imprimir a descrição do erro e a função sterror retorna uma string com o código de erro.

Vamos exibir a lista de códigos de erro usando errno.

Linux errado

O utilitário errno é usado para procurar códigos errno, nomes de macros e as descrições correspondentes. Por exemplo, se fornecermos ENOENT em um sistema Linux, ele exibirá o código 2 e a descrição ' Não existe tal arquivo ou diretório .' Se fornecermos o código 2, ele exibirá o ENOENT e sua descrição .

Se o utilitário errno não estiver instalado em nossa máquina, ele exibirá o erro da seguinte forma:

Códigos de erro do Linux

Para instalá-lo, execute o comando abaixo:

 sudo apt install moreutils 

Ao executar o comando acima, o pacote moreutils é instalado em nossa máquina que contém o utilitário errno.

Códigos de erro do Linux

Exibir a lista de códigos de erro

Para exibir a lista dos códigos de erro, execute o comando da seguinte forma:

 errno -l 

O comando acima exibirá a lista de códigos de erro do RedHat. Considere a saída abaixo:

Códigos de erro do Linux

Exibir as informações de um número de erro

Para exibir as informações de um número de erro específico, execute o comando da seguinte forma:

 errno 2 

O comando acima exibirá a descrição do erro número 2. Considere a saída abaixo:

Códigos de erro do Linux

Exibir as informações de um nome de erro

Para exibir as informações de um nome de erro específico, execute o comando errno, seguido do nome do erro. Por exemplo, para exibir as informações de um nome de erro 'ESRCH ,' execute o comando da seguinte forma:

 errno ESRCH 

O comando acima exibirá as informações sobre o nome do erro especificado. Considere a saída abaixo:

Códigos de erro do Linux

Exibir o erro usando strings

Para exibir uma descrição de erro usando uma string da descrição, execute o comando da seguinte forma:

 errno -s permission 

O comando acima exibirá os erros cuja descrição contém permissão de string. Considere a saída abaixo:

Códigos de erro do Linux

Lista de erros do sistema Linux

A seguir está uma lista parcial de possíveis erros do sistema Linux:

Erro de código erro não Descrição
Superior 1 É exibido se a operação não for permitida.
ENOENTE 2 Ele é exibido se esse arquivo ou diretório não existir.
ESCRH 3 É exibido se tal processo não existir.
EINTR 4 É exibido para Chamada de sistema interrompida
EIO 5 É exibido para erro de entrada/saída.
ENXIO 6 É exibido se tal dispositivo ou endereço não existir.
E2BIG 7 É exibido se a lista de argumentos for muito longa.
ENOEXEC 8 É exibido se houver um erro de formato exec
EBADF 9 Ele é exibido em caso de descritor de arquivo incorreto.
ECHILD 10 É exibido se não houver nenhum processo filho.
NOVAMENTE onze É exibido se o recurso estiver temporariamente indisponível.
ENOMEMA 12 É exibido se o sistema não conseguir alocar memória.
EACCES 13 É exibido se a permissão for negada.
EFAULT 14 É exibido se houver um endereço incorreto.
ENOTBLK quinze É exibido se o dispositivo de bloqueio for necessário.
OCUPADO 16 É exibido se o dispositivo ou recurso estiver ocupado.
EXISTE 17 É exibido se o arquivo já existir.
DESV.EX 18 É exibido se houver link inválido entre dispositivos.
ENODEV 19 É exibido se tal dispositivo não existir.
ENOTDIR vinte É exibido se não houver um diretório.
EISDIR vinte e um É exibido se houver um diretório.
ESCOLHA ÚNICA 22 É exibido se houver um argumento inválido.
COLOCAR 23 É exibido se houver muitos arquivos abertos no sistema.
MORTO 24 É exibido se houver muitos arquivos abertos.
ENOTTY 25 É exibido se houver um ioctl inadequado para o dispositivo.
ETXTBSY 26 É exibido se o arquivo de texto estiver ocupado.
EFBIG 27 É exibido se o arquivo for muito grande.
ENOSPC 28 É exibido se não houver espaço no dispositivo.
ESPIPE 29 É exibido em caso de busca ilegal.
EROFS 30 Ele é exibido no caso de sistema de arquivos somente leitura.
EMLINK 31 Ele é exibido se houver muitos links.
EPIPÉ 32 É exibido em caso de tubo quebrado.
EDOM 33 É exibido se o argumento numérico estiver fora do domínio.
LARANJA 3. 4 É exibido se o resultado numérico estiver fora do intervalo.
EDEADLK 35 É exibido se o impasse de recursos for evitado.
ENAMETOOLONG 36 É exibido se o nome do arquivo for muito longo.
ENOLCK 37 É exibido se nenhum bloqueio estiver disponível.
ENOSYS 38 É exibido se a função não estiver implementada.
ENOTEMPTY 39 É exibido se o diretório não estiver vazio.
ELOOP 40 É exibido se houver muitos níveis de links simbólicos.
ENOMSG 42 É exibido se não houver nenhuma mensagem do tipo desejado.
EIDRM 43 É exibido se o identificador for removido.
ECHRNG 44 É exibido se o número do canal estiver fora do alcance.
EL2NSYNC Quatro cinco É exibido se o nível 2 não estiver sincronizado.
EL3HLT 46 É exibido se o Nível 3 for interrompido.
EL3RST 47 É exibido se o Nível 3 for redefinido.
ELNRNG 48 É exibido se o número do link estiver fora do intervalo.
EUNATCH 49 É exibido se o driver de protocolo não estiver conectado.
ENOCSI cinquenta É exibido se não houver estrutura CSI disponível.
EL2HLT 51 É exibido se o Nível 2 for interrompido.
TEM SIDO 52 É exibido em caso de troca inválida.
EBADR 53 É exibido em caso de descritor de solicitação inválido.
EXFULO 54 É exibido se a troca estiver cheia.
ENOANO 55 É exibido no caso de Sem ânodo.
EBADRQC 56 Ele é exibido para código de solicitação inválido.
EBADSLT 57 É exibido para slot inválido.
EBFONT 59 Ele é exibido se houver um formato de arquivo de fonte incorreto.
UNILATERAL 60 É exibido se o dispositivo não for um fluxo.
ENODADOS 61 É exibido se não houver dados disponíveis.
ÉTEMPO 62 É exibido caso o cronômetro tenha expirado.
ENOSR 63 Ele é exibido em caso de recursos fora dos fluxos.
ENONET 64 É exibido se a máquina não estiver na rede.
ENOPKG 65 É exibido se o pacote não estiver instalado.
EREMOTO 66 É exibido se o objeto for remoto.
ENOLINK 67 É exibido se o link foi cortado.
EADV 68 É exibido para erro de anúncio.
ESRMNT 69 É exibido para erro Srmount.
ECOMM 70 É exibido se houver erro de comunicação no envio.
EPROTO 71 É exibido para erro de protocolo.
EMULTIHOP 72 Ele é exibido para tentativas de Multihop.
EDOTDOT 73 Ele é exibido para erros específicos do RFS.
EBADMSG 74 É exibido para Mensagem ruim.
EOVERFLOW 75 É exibido se o valor for muito grande para o tipo de dados definido.
ENOTUNIQ 76 É exibido se o nome não for exclusivo na rede.
EBADFD 77 É exibido se o descritor de arquivo estiver em mau estado.
EREMCHG 78 É exibido se o endereço remoto for alterado.
ELIBACC 79 É exibido se não conseguirmos acessar uma biblioteca compartilhada necessária.
ELIBBAD 80 Ele é exibido no caso de acesso a uma biblioteca compartilhada corrompida.
ELIBSCN 81 É exibido se houver uma seção .lib em a.out corrompida.
ELIBMAX 82 Ele é exibido se estivermos tentando vincular muitas bibliotecas compartilhadas.
ELIBEXEC 83 É exibido se não pudermos executar uma biblioteca compartilhada diretamente.
EILSEQ 84 É exibido para um caractere largo ou multibyte inválido ou incompleto
ERESTART 85 É exibido para informar que a chamada do sistema interrompida deve ser reiniciada.
ESTRPIPE 86 É exibido se houver erro no pipe de fluxos.
EUSERS 87 Ele é exibido para muitos usuários.
ENOTSOCK 88 É exibido para operação de soquete em não soquete.
EDESTADDRREQ 89 É exibido se o endereço de destino for necessário.
EMSGSIZE 90 É exibido se a mensagem for muito longa.
EPROTÓTIPO 91 É exibido se o protocolo for do tipo errado para soquete.
ENOPROTOOPTO 92 É exibido se o protocolo não estiver disponível.
EPROTONOSUPPORT 93 É exibido se o protocolo não for suportado.
ESOCKTNOSUPPORT 94 É exibido se o tipo de soquete não for compatível.
EOPNOTSUPP 95 É exibido se a operação não for suportada.
SUPORTE EPFNOS 96 É exibido se a família de protocolos não for suportada.
EAFNOSUPPORT 97 É exibido se a família de endereços não for suportada pelo protocolo.
EADDRINUS 98 É exibido se o endereço já estiver em uso.
EADDRNOTAVAIL 99 É exibido se o sistema não puder atribuir o endereço solicitado.
ENETDOWN 100 É exibido se a rede estiver inoperante.
ENETUNREACH 101 É exibido se a rede estiver inacessível.
ENETRESET 102 É exibido se a rede tiver perdido a conexão na redefinição.
ECONABORTADO 103 É exibido se o software causou a interrupção da conexão.
ECONNRESET 104 É exibido se a conexão for redefinida pelo peer.
ENOBUFS 105 É exibido se não houver espaço de buffer disponível.
ESCON 106 É exibido se o terminal de transporte já estiver conectado.
ENOTCONN 107 É exibido se o terminal de transporte não estiver conectado.
DESLIGAR 108 Ele será exibido se o sistema não puder enviar após o encerramento do terminal de transporte.
ETOOMANYREFS 109 É exibido se houver muitas referências: não é possível emendar.
ETIMEDOUT 110 É exibido se a conexão expirou.
ECONNREGUSADO 111 É exibido se a conexão for recusada.
EHOSTDOWN 112 É exibido se o Host estiver inativo.
EHOSTUNREACH 113 É exibido se não houver rota para o host.
114 É exibido se a operação já estiver em andamento.
CADA PROGRESSO 115 É exibido se a operação estiver em andamento.
ESTALE 116 Ele é exibido para identificador de arquivo obsoleto.
EUCLEAN 117 É exibido se a estrutura necessita de limpeza.
UNIFORME 118 Ele não é exibido para um arquivo de tipo nomeado XENIX.
ENVIAR 119 É exibido se não houver semáforos XENIX disponíveis.
EISNAM 120 É exibido se houver um arquivo de tipo nomeado.
EREMÓCIO 121 É exibido para erro de E/S remota.
EDQUOT 122 É exibido se a cota do disco for excedida.
ENÔMÉDIO 123 É exibido se nenhuma mídia for encontrada.
TIPO DE MÉDIO 124 É exibido se houver um tipo de mídia incorreto.
CANCELADO 125 É exibido se a operação for cancelada.
ENOKEY 126 É exibido se a chave necessária não estiver disponível.
EKEYEXPIRADO 127 É exibido se a chave expirou.
EKEYREVOGADO 128 É exibido se a chave foi revogada.
EKEYREJEITADO 129 É exibido se a chave foi rejeitada pelo serviço.
EOWNERDEAD 130 É exibido se o proprietário morreu.
ENOTRECOVERÁVEL 131 Ele é exibido sem estado recuperável.
ERFKILL 132 É exibido se a operação não for possível devido ao RF-kill.
EHWPOISON 133 É exibido se a página de memória apresentar erro de hardware.