# Gerenciamento de Processos

Listar os processos em execução:

### Comandos de Monitoramento e Controle de Processos no Linux

<details>

<summary><code>ps</code></summary>

<br>

O comando `ps` exibe informações sobre processos em execução no sistema.

* **Descrição**: O `ps` é utilizado para visualizar os processos em execução. Ele exibe informações como PID (Process ID), usuário proprietário do processo, porcentagem de uso de CPU e memória, tempo de execução, e comando executado.
* **Opções Comuns**:
  * `-a`: Exibe todos os processos associados a terminais, exceto os processos de sessão do líder.
  * `-x`: Inclui processos que não estão associados a um terminal.
  * `-u`: Exibe informações detalhadas sobre os processos, incluindo o usuário proprietário.
* **Exemplos**:

  ```bash
  ps              # Exibe os processos em execução do usuário atual em um terminal
  ps -a           # Exibe todos os processos associados a terminais
  ps -ax          # Exibe todos os processos, incluindo aqueles que não estão associados a terminais
  ps -aux         # Exibe todos os processos com informações detalhadas, incluindo o usuário proprietário
  ```

</details>

<details>

<summary><code>ps -a</code></summary>

<br>

O comando `ps -a` exibe todos os processos associados a terminais, exceto os processos de sessão do líder.

* **Descrição**: O `ps -a` é útil para listar todos os processos que estão sendo executados por todos os usuários e que estão associados a terminais.
* **Exemplo**:

  ```bash
  ps -a           # Lista todos os processos associados a terminais, exceto os processos de sessão do líder
  ```

</details>

<details>

<summary><code>ps -ax</code></summary>

<br>

O comando `ps -ax` exibe todos os processos em execução, incluindo aqueles que não estão associados a terminais.

* **Descrição**: O `ps -ax` é útil para listar todos os processos no sistema, incluindo os processos de fundo e da sessão do líder.
* **Exemplo**:

  ```bash
  ps -ax          # Lista todos os processos em execução, incluindo aqueles que não estão associados a terminais
  ```

</details>

<details>

<summary><code>ps -aux</code></summary>

<br>

O comando `ps -aux` exibe todos os processos com informações detalhadas, incluindo o usuário proprietário, a porcentagem de uso de CPU e memória, e o tempo de execução.

* **Descrição**: O `ps -aux` é útil para obter uma visão detalhada de todos os processos em execução, permitindo identificar processos específicos com base em seu uso de recursos.
* **Exemplo**:

  ```bash
  ps -aux         # Lista todos os processos com informações detalhadas, incluindo o usuário proprietário
  ```

</details>

<details>

<summary><code>kill</code></summary>

<br>

O comando `kill` envia sinais para processos, geralmente usados para finalizar um processo.

* **Descrição**: O `kill` é usado para enviar sinais a processos, sendo o sinal padrão `SIGTERM` (15), que solicita ao processo para finalizar graciosamente. O sinal `SIGKILL` (9) força o término imediato do processo.
* **Exemplo**:

  ```bash
  kill <PID>               # Envia o sinal SIGTERM (15) ao processo com o PID especificado
  kill -9 <PID>            # Envia o sinal SIGKILL (9) ao processo com o PID especificado, forçando o término imediato
  ```

</details>

<details>

<summary><code>top</code></summary>

<br>

O comando `top` exibe informações em tempo real sobre os processos em execução no sistema.

* **Descrição**: O `top` mostra uma lista dinâmica de processos, ordenada pelo uso de CPU por padrão. Ele exibe informações como PID, usuário, prioridade, uso de CPU e memória, tempo de execução, e comando executado.
* **Exemplo**:

  ```bash
  top             # Exibe uma lista dinâmica de processos em execução, ordenada pelo uso de CPU
  ```

</details>

<details>

<summary><code>htop</code></summary>

<br>

O comando `htop` é uma versão aprimorada e interativa do `top`, oferecendo uma interface mais amigável para monitorar os processos em tempo real.

* **Descrição**: O `htop` fornece uma visualização interativa dos processos em execução, permitindo filtrar, ordenar e finalizar processos facilmente. Ele exibe informações de uso de CPU e memória em barras de progresso coloridas.
* **Exemplo**:

  ```bash
  htop            # Exibe uma lista interativa de processos em execução com uma interface aprimorada
  ```

</details>
