stdin, stdout, stderr e exit code

Compreender canais padrão de processos e códigos de término.

stdin, stdout, stderr e exit code

Objetivo

Compreender canais padrão de processos e códigos de término.

Conceitos essenciais

stdin

Entrada padrão é um canal convencional pelo qual um processo pode receber dados.

stdout

Saída padrão é usada para resultados normais.

stderr

Saída de erro separa diagnósticos da saída normal, facilitando automação e redirecionamento.

Exit code

Ao terminar, programas retornam um código. Por convenção comum, 0 representa sucesso e valores não zero indicam condições diferentes de sucesso; o significado exato é definido pelo programa.

Modelo mental

stdin → PROCESSO → stdout
               ↘ stderr
               → exit code

Exemplo e demonstração

Um programa pode imprimir resultados em stdout e uma mensagem de validação em stderr, permitindo que scripts tratem cada fluxo de forma diferente.

programa < entrada.txt > saida.txt
# stderr pode ser tratado separadamente conforme o shell

Experimento / prática

  • Execute um comando de versão e consulte o exit code no seu shell.
  • Explique por que stderr separado de stdout ajuda scripts.

Erros comuns

  • Todo output é stdout.
  • Exit code 1 significa a mesma causa em todo programa.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.