Pular para o conteúdo

Código de saída

0 deu certo, 1 deu errado, 2 foi chamado errado, 128 + N morreu por sinal — e quem lê cada um.

O código de saída é a única coisa que um processo diz ao programa que o chamou sem que alguém leia a saída. O CI decide por ele, o shell decide por ele (&&), o orquestrador decide por ele se reinicia.

CódigoQuer dizerQuem produz
0deu certoo fim normal do programa
1rodou e deu erradoum erro não tratado
2foi chamado erradoCli.comando com argumento inválido; dataforge abi com quebra
128 + Nmorreu pelo sinal N143 = SIGTERM, 130 = SIGINT (Ctrl+C)
qualquer outroo que você decidirOS.exit(n)
dataforge
adopt Arcane.OS as OS

action conferir(entrada):
    given len(entrada) is 0:
        out "nada a processar"
        OS.exit(0)                     // não é erro: só não havia o que fazer
    yield len(entrada)

assert conferir([1, 2, 3]) is 3