Tutorial do comando Bash nohup
O significado de nohup é 'sem hangup'. Normalmente, quando desconectamos do sistema, todos os programas ou processos em execução são desligados ou encerrados. Se você deseja executar qualquer programa após sair ou sair do sistema operacional Linux, você deve usar o comando nohup. Existem muitos programas que requerem muitas horas para serem concluídos. Não precisamos logar por muito tempo para completar a tarefa do comando. Podemos manter esse tipo de programa em execução em segundo plano usando o comando nohup e verificar a saída mais tarde. Alguns exemplos de uso do comando nohup são verificação de memória, reinicialização do servidor, sincronização, etc. Como você pode usar um nohup comando no Ubuntu para executar um programa em segundo plano é mostrado neste tutorial.
Você pode verificar a versão do comando nohup usando o seguinte comando.
$ nohup --version
Sintaxe do comando nohup:
Você pode usar o comando nohup de duas maneiras.
- comando nohup [args…]
- opção de nohup
Usando nohup com comandos
Exemplo-1: Usando o comando nohup sem '&'
Quando você executa o comando nohup sem '& ' então ele retorna ao prompt de comando do shell imediatamente após executar aquele comando específico em segundo plano. No exemplo a seguir, nohup corre bash comando sem '&' para executar sleep1.arquivo sh em segundo plano. A saída do nohup o comando vai escrever nohup.Fora o arquivo se algum nome de arquivo redirecionado não for mencionado em nohup comando. Para o seguinte comando, você pode verificar a saída de sleep1.sh verificando a saída do nohup.arquivo fora.
$ nohup bash sleep1.sh$ cat nohup.Fora
Você pode executar o comando da seguinte maneira para redirecionar a saída para o resultado.TXT Arquivo. Verifique a saída de resultado.TXT.
$ nohup bash sleep2.sh> output.TXTsaída de $ cat.TXT
Exemplo 2: Usando o comando nohup com '&'
Quando nohup comando usar com '& ' então ele não retorna ao prompt de comando do shell depois de executar o comando em segundo plano. Mas se você quiser, pode retornar ao prompt de comando do shell digitando 'fg '
$ nohup bash sleep1.sh &$ fg
Exemplo-3: Usando o comando nohup para executar vários comandos em segundo plano
Você pode executar vários comandos em segundo plano usando o comando nohup. No comando a seguir, os comandos mkdir e ls são executados em segundo plano usando os comandos nohup e bash. Você pode obter a saída dos comandos verificando a saída.arquivo txt.
$ nohup bash -c 'mkdir myDir && ls'> saída.TXTsaída de $ cat.TXT
Exemplo 4: iniciar qualquer processo em segundo plano usando nohup
Quando qualquer processo é iniciado e o usuário fecha o terminal antes de concluir a tarefa do processo em execução, o processo para normalmente. Se o processo for executado com nohup, ele será capaz de executar o processo em segundo plano sem qualquer problema. Por exemplo, se você executar o ping normalmente, então ele encerrará o processo quando você fechar o terminal.
$ ping -i 10 google.com
Você pode verificar a lista de todos os comandos em execução usando o comando pgrep. Feche o terminal. Reabra o terminal e execute pgrep comando com -uma opção. Nenhuma lista de comandos em execução será exibida porque todos os comandos em execução são encerrados quando o terminal foi fechado.
$ pgrep -a ping
Corre ping comando com comando nohup. Reabra o terminal e execute pgrep comando de novo. Irá obter a lista do processo com o id do processo que está em execução.
$ nohup ping -i 15 google.com &$ pgrep -a ping
Você pode parar qualquer processo em segundo plano executando o comando kill. Basta executar o comando kill com ID de processo específico que está sendo executado. Aqui, a identificação do processo em execução é 7015. Execute o comando kill em 7015 para encerrar o processo.
$ kill 7015
Os usos do comando nohup são explicados usando exemplos muito simples neste tutorial. Espero que você tenha uma ideia clara da função do comando nohup e seja capaz de aplicar este comando para vários fins.