Comando nohup no Linux (previne desconexão do processo) [Guia Básico]

Independentemente se os programas em execução no shell estão e primeiro ou segundo plano, eles serão terminados quando o usuário se desconectar ou fechar o terminal.

Isto acontece porque os Jobs recebem o sinal SIGHUP (desconexão), que é um aviso do terminal a seus processos filhos de que ocorreu uma desconexão.

Para que isso não aconteça, o comando nohup no Linux torna o processo imune ao sinal SIGHUP, permitindo que ele continue em execução mesmo se o terminal fechar ou a conexão cair.

Desta forma, o utilitário nohup executa o comando especificado sem atrelá-lo a nenhum terminal, de forma imune a quedas de conexão e desconexões.

Neste exemplo o nohup irá executar o comando find / -name uira* e mandar a saída para arquivos_encontrados, e ainda será executado em segundo plano:

$ nohup find / -name uira* > arquivos_encontrados &

O nohup executa o comando especificado, mas não permite que ele receba nenhuma entrada de dados pelo terminal.

Todas as saídas (STDOUT), incluindo mensagens de erro (STDERR), serão gravadas no arquivo nohup.out no diretório de trabalho ou no diretório local. 

Você pode usar o nohup em primeiro ou em segundo plano. O mais comum é executá-lo em segundo plano colocando o “&” no final da linha de comandos.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe