O comando nohup

Publicado por Fábio Berbert de Paula em 25/01/2008

[ Hits: 119.059 ]

Blog: https://fabio.city

 


O comando nohup



Essa é uma dica simples e rápida, mas que me quebrou um galho (ou seria árvore?) um dia desses. Eu precisava deixar um comando rodando num servidor remoto, porém não continuaria conectado via ssh neste. Ao executar o comando passando o famoso "&" no final da linha o terminal ficava livre, mas ao deslogar do terminal o comando recebia um sinal de hangup e "morria".

Enfim, pra rodar um comando em background e fazer com que o mesmo fique imune a sinais de hangup, usa-se o comando nohup.

Exemplo de uso:

# nohup ./comando_que_vai_demorar &

A saída do comando será gravada no arquivo nohup.out, que será criado no diretório corrente (onde o comando foi executado). Agora você pode desconectar do terminal remoto e ir pra casa tranquilo. Simples assim!

Outras dicas deste autor

Como seu Samsung Galaxy S3 pode se transformar num PC

Agendando execução de scripts PHP

Instalando suporte a flash no Mozilla

Docker: container Debian sem o comando "ps" (bash: ps: command not found) [Resolvido]

Adaptador de rede USB WiFi TP-LINK no Debian

Leitura recomendada

mii-tool ou ethtool: Qual usar?

Usando o comando dd

Removendo vários arquivos de uma lista gigante (Argument list too long)

Exercício Prático LPIC 12

Como montar uma partição NTFS ou FAT32

  

Comentários
[1] Comentário enviado por denilsoneskas em 25/01/2008 - 11:36h

Fabio esse comando pode ser utilizado quando se usa um backup por exemplo?????

[2] Comentário enviado por pstglia em 25/01/2008 - 15:05h

Boa dica Fábio. Isso ajuda pacas

Caso a sessão que disparou o processo caia (receba o HUP), o owner o processo passa a ser o processo INIT (1)

Existem também o comando screen; Tem o mesmo objetivo do nohup

[3] Comentário enviado por brunocarezza em 11/05/2010 - 07:08h

O Screen não tem o mesmo objetivo que o nohup. O Screen é um gerenciador de janelas para ambiente texto com um número desconsertante de opções. São finalidades muito diferentes. Uma comparação medíocre.

[4] Comentário enviado por edivaldo145 em 29/11/2011 - 18:41h

Salvou a minha vida shaushauhsa

[5] Comentário enviado por leoudimg em 20/03/2012 - 15:15h

Este tópico é antigo mas salvou minha vida também!!!!

[6] Comentário enviado por fabiocs em 11/07/2014 - 12:55h

Boa!
Obrigado!
Estamos em 2014 e esta dica me ajudou muito!

[7] Comentário enviado por david.sousarj em 17/12/2014 - 01:11h

Linux é muito bom! Sempre tem um comando escondido para fazer exatamente aquilo que a gente precisa! Valeu pela dica.

[8] Comentário enviado por thais.soares@ em 13/07/2015 - 13:41h

Ano 2015 e mesmo assim me ajudou pacas rsrs

[9] Comentário enviado por denismo em 04/08/2015 - 20:37h


Eu tenho um problema. nohup não aceita um parâmetro de entrada em a.out. Por exemplo

a.out 10

o 10 é um parâmetro de entrada em a.out, e nohup dá erro.

Valeu galera

[10] Comentário enviado por danielbbarcelos em 03/02/2016 - 11:25h

Ano 2016 e eu também fui salvo hahahaha valeu galera

[11] Comentário enviado por renatonxcosta em 10/02/2017 - 08:07h

Ano 2017 e e mesmo assim me ajudou muito! Hahahahaha
Valeu Fábio!

[12] Comentário enviado por soldadolinux em 19/03/2018 - 20:21h

E se eu quiser executar vários comandos ex:
nohup cpulimit -e programa1 -l 40 &
nohup cpulimit -e programa2 -l 60 &
nohup cpulimit -e programa3 -l 20 &
vão funcionar de boa?

[13] Comentário enviado por cristianjohn em 19/06/2018 - 21:10h

Só para manter a tradição, estamos em 2018 e esse comando acabou de me salvar, kkkkk

[14] Comentário enviado por RodRoudini em 19/12/2018 - 13:13h

Estamos paticamente em 2019 e esse comando continua salvando vidas kkkkk Valeu galera !!!!

[15] Comentário enviado por Aysion em 14/01/2019 - 20:25h

Ano 2019 e valeu a dica, agora posso deixar meu raspberry com Ubuntu core compactando uma lista de videos a noite toda rsrs

[16] Comentário enviado por victorquimas em 29/08/2019 - 11:12h

O comando continua rodando após o reinicio?

[17] Comentário enviado por fabio em 29/08/2019 - 14:16h


[16] Comentário enviado por victorquimas em 29/08/2019 - 11:12h

O comando continua rodando após o reinicio?


Não. Se reiniciar a máquina ele é encerrado. É apenas um comando, não é um serviço.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts