O comando nohup

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

[ Hits: 128.231 ]

Blog: https://youtube.com/c/cotidianohackeado

 


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 instalar o PHP5 no Debian 9 Stretch

ctorrent - Cliente torrent modo texto

Desativando popups "O sistema detectou um problema no aplicativo" no Ubuntu

JavaScript - verificar se todos os itens de um array são pares ou ímpares

Lista de downloads travando no Firefox

Leitura recomendada

Programando o seu Linux para desligar automaticamente

Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum

Comando CHMOD (Change Mode) no Modo Octal

Adicionando Extensões em Arquivos

Convertendo alguns arquivos

  

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 [email protected] 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.

[18] Comentário enviado por linscomt em 11/09/2020 - 02:27h

Eu passo aqui sempre desde 2018 tenho péssima memoria.

Estava fazendo uns teste e percebi que quando enviava
code terminal: sudo nohup node "index.js" &
e teclava ^C 'Control+C' ele ficava em back... segundo plano mas ao fechar o terminal percebia que parava de rodar, então comecei os teste criei um arquivo "execute.sh" e dentro dele

#!/bin/bash or #!/bin/sh
nohup node "index.js" &

Então ao dar o comando no terminal :sudo sh execute.sh &
e logo percebendo que estava executando normal dei o comando ^C depois fechei o terminal e a aplicação continuou rodando em segundo plano até
alguém dar um kill nele. Achei interessante até fiz um fileA.sh que executa um fileB.sh para deixar o fileB.sh em segundo plano.
Como sou ruim de memoria tomara que fique aqui, para sempre poder lembrar me.



Contribuir com comentário