# Comando nohup do Linux: manter os processos em execução após o encerramento da sessão

O [comando](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comandos-do-linux-a-lista-essencial/ "Comandos de Linux: la lista fundamental") nohup [do Linux](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comandos-do-linux-a-lista-essencial/ "Comandos de Linux: la lista fundamental") faz com que o sistema ignore o sinal HUP (hangup). Desta forma, um processo pode continuar a ser executado em segundo plano. A saída obtida é redirecionada para o ficheiro *nohup.out* ou para outro ficheiro à sua escolha.

## O que é o comando nohup do Linux?

Para compreender o que é o comando nohup do Linux, vale a pena dar uma olhadela no SIGHUP. Trata-se de um sinal que também é gerado no Linux quando ocorre uma falha de ligação numa linha de dados entre o sistema operativo e outra aplicação. No entanto, em certas situações, pode ser necessário que este **sinal não seja enviado**. Uma situação em que isso seria muito importante é, por exemplo, quando uma aplicação deve continuar em execução, mesmo que o utilizador tenha encerrado a sessão no sistema. Para suprimir o sinal e **manter os programas a funcionar em segundo plano**, utiliza-se o comando nohup do Linux.

## Como funciona o comando nohup no Linux?

O programa nohup do Linux está disponível em todas as distribuições comuns do Linux, como [o Debian](https://www.ionos.com/pt-pt/digitalguide/servidores/know-how/debian-o-software-universal-para-sistemas-operativos/ "Debian, el software universal para sistemas operativos") e o Ubuntu. Por isso, não é necessário instalar o programa separadamente. Podes utilizá-lo para que o sistema inicie um **programa específico em segundo plano** e, assim, separar o programa escolhido do shell de sessão. Todas as saídas são redirecionadas automaticamente para a pasta *nohup.out*. Especialmente quando se trata de processos de longa duração, tem a vantagem de poder desligar-se sem interromper o processo.

## Qual é a estrutura de um comando nohup?

A estrutura básica do comando nohup do Linux é sempre a mesma:

```bash
$ nohup [Comando] [Argumento] [&]
```

«\[Comando\]» e «\[Argumento\]» são parâmetros que podem ser ajustados e especificados. Se pretender permitir que os processos continuem a ser executados em segundo plano após o encerramento da sessão, utilize «\[&amp;\]».

## Que opções podem ser utilizadas com o comando nohup?

Além das duas opções padrão «-h» ou «–help» e «-v» ou «—version», o comando nohup do Linux não aceita quaisquer outras opções. Apenas quando não é especificado nenhum parâmetro para «\[Comando\]» é que permite a opção «-p» ou «–parents».

## Exemplos para o comando nohup do Linux

A seguir, vamos mostrar-lhe alguns exemplos de utilização que o ajudarão a compreender melhor como funciona este comando.

```bash
$ nohup bash ejemplo.sh
```

Isto faz com que o comando seja executado em primeiro plano. A saída do comando é automaticamente redirecionada para o ficheiro *nohup.out*.

```bash
$ nohup bash ejemplo.sh > output.txt
```

Desta forma, garante-se que a saída seja redirecionada para o ficheiro *output.txt*.

```bash
$ nohup bash ejemplo.sh &
```

Esta opção faz com que o comando continue a ser executado em segundo plano. Se quiser reverter esta ação e trazer o comando de volta para o primeiro plano, utilize o comando fg.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comando-nohup-do-linux/](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comando-nohup-do-linux/) for AI/LLM consumption.