Como você diz qual é o código de retorno de um processo quando ele sai e onde o valor é geralmente documentado?

1

Se um processo é executado e sai, ele retorna um status diferente de zero (personnaly eu prefiro o termo código de retorno); ou até mesmo um status zero Eu sei que o valor está lá (principalmente porque eu fiz programação C ++ e eu sei que você pode no final do seu método main() retornar um valor ... mas também porque se eu executar algo como:

fuser -s ./myfile.txt && echo "a process is accessing your file "

Eu sei que echo só imprime se o valor de status retornado de um processo fuser for 0 , se não for, echo será ignorado porque:

"fuser returns a non-zero return-code if none of the specified files is accessed or in case of a fatal error."

Agora, como exibo esse código de retorno para saber se ele é valioso? Porque se você estiver executando fuser com -silent , como em um script, pareceria importante saber o valor do código de retorno / status para que eu possa dizer a diferença entre um arquivo que não está sendo acessado e um erro fatal real.

Além disso, existe um lugar comum nas man pages onde os códigos de retorno / status de um processo são documentados para que eu possa ver o que o valor pode significar? Ou existe um documento que tenha padrões para quais códigos de retorno devem ser?

    
por leeand00 28.01.2016 / 18:00

1 resposta

6

Você pode acessar o código de retorno do último comando executado com o parâmetro especial $? . Não há nenhum padrão documentado (pelo menos nenhum que seja amplamente adotado) para códigos de retorno diferentes de "0" sendo sucesso e não-zero sendo uma falha. Você terá que verificar o manpage do comando específico que você está executando.

    
por 28.01.2016 / 18:13

Tags