No mundo do Linux, o gerenciamento de processos é uma habilidade crucial para qualquer administrador de sistemas ou programador. Três ferramentas-chave que nos ajudam a monitorar e gerenciar processos são ‘top’, ‘ps’ e ‘kill’. Neste artigo, vamos explorar como essas ferramentas funcionam e como usá-las efetivamente, sempre complementando com exemplos práticos.

Seção 1: O Comando ‘top’

O comando ‘top’ no Linux exibe em tempo real a atividade do sistema. Ele fornece uma visão dinâmica do processamento do sistema e lista os processos que estão consumindo mais recursos.

Uso prático

Abra o terminal e digite ‘top’, em seguida pressione enter:

$ top

A saída será semelhante a esta:

top - 18:25:59 up 1 day,  7:08,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 162 total,   1 running, 161 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.3 sy,  0.0 ni, 98.8 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3931.0 total,   1061.3 free,   1410.3 used,   1459.4 buff/cache
MiB Swap:   1024.0 total,   1022.2 free,      1.8 used.   2329.6 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1091 root      20   0  186960  54528  38860 S   6.7   1.4  16:00.13 Xorg
 2173 user1     20   0 1027296 132292  84776 S   6.7   3.3   4:06.61 gnome-shell
 3058 user1     20   0  773736  35816  27248 S   6.7   0.9   0:01.34 gnome-terminal-

Seção 2: O Comando ‘ps’

O comando ‘ps’ (Process Status) exibe os processos atuais em seu sistema Linux. Ele é muito útil quando você quer saber sobre processos específicos em execução no seu sistema.

Uso prático

Para exibir todos os processos em execução no sistema, use:

$ ps -e

A saída será algo como:

  PID TTY          TIME CMD
    1 ?        00:00:02 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 rcu_gp
    4 ?        00:00:00 rcu_par_gp
    6 ?        00:00:00 kworker/0:0H-kb

Se você quiser ver todos os processos em execução por um usuário específico, digite:

$ ps -u nome_do_usuário

A saída seria algo como:

  PID TTY          TIME CMD
 2173 tty2     00:00:11 gnome-shell
 2191 tty2     00:00:00 dbus-daemon
 2256 tty2     00:00:00 ibus-daemon
 2264 tty2     00:00:00 ibus-dconf
 2266 tty2     00:00:00 ibus-x11

Seção 3: O Comando ‘kill’

O comando ‘kill’ é usado para enviar sinais a processos. O uso mais comum do comando ‘kill’ é para terminar processos.

Uso prático

Para usar o comando ‘kill’, você precisará saber o PID (Process ID) do processo que deseja terminar. Vamos supor que o PID do processo seja 1234, você pode usar o seguinte comando para terminar o processo:

$ kill 1234

Se o processo não responder ao sinal padrão (SIGTERM), você pode usar o sinal SIGKILL, que força o término do processo:

$ kill -9 1234

Por favor, note que terminar processos de maneira forçada pode levar a resultados indesejados, como perda de dados. Portanto, use com cuidado.

Conclusão

O gerenciamento de processos é uma parte integral do Linux. Saber como usar ‘top’, ‘ps’ e ‘kill’ irá equipá-lo com ferramentas úteis para monitorar e gerenciar processos. Pratique o uso desses comandos e familiarize-se com suas opções para tirar o máximo proveito deles.

Sobre o autor

Pós graduado em Gestão de Projetos em Tecnologia da Informação pela UNIASSELVI.
Esposo e Pai, curto atividades ao ar livre (Bike, SUP, Natação, Caminhar, Brincar no campo)

Atua com Banco de Dados Oracle desde de 2007. Atualmente é DBA Senior na FLUIDATA Serviços em Banco de dados (www.fluidata.com.br)

Principais atividade Banco de dados:

Implementação, migração, gerenciamento e suporte a produtos Oracle (8i, 9i, 10g, 11g, 12c, 18c, 19c RAC), multiplataforma;
Implementação, migração, gerenciamento e suporte a produtos Microsoft SQL Server (2008 - 2019);
Implementação, migração, gerenciamento e suporte a produtos PostgreSQL (9.3 - 14);
Monitoramento de ambientes 24×7;
Backup e Recovery;
Performance e Tuning;
Alta disponibilidade (HA);
EM database/grid/cloud control;
Conversão de databases;
Standby database / Oracle Data Guard;

Certificações:

Oracle Cloud Infrastructure 2019 Certified Architect AssociateOracle Cloud Infrastructure 2019 Certified Architect Associate
Oracle Database 12c Administrator Certified ProfessionalOracle Database 12c Administrator Certified Professional
Exadata Database Machine Models X2-2 and X2-8 Technology Support SpecialistExadata Database Machine Models X2-2 and X2-8 Technology Support Specialist
Oracle Database 11g Support SpecialistOracle Database 11g Support Specialist
OCP 11g - Oracle Certified Professional AdministratorOCP 11g - Oracle Certified Professional Administrator
OPN Certified Specialist 10g - PartnerNetwork Certified SpecialistOPN Certified Specialist 10g - PartnerNetwork Certified Specialist
Oracle Database 10g Real Applications Clusters AdministratorCertified ExpertOracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Database 10g: Managing Oracle on Linux Certified ExpertOracle Database 10g: Managing Oracle on Linux Certified Expert
OCP 10g - Oracle Certified Professional AdministratorOCP 10g - Oracle Certified Professional Administrator

Principais atividades DEVOPS:

PHP
ASP.net
C#
Docker
Golang
C++
Delphi
Python
HTML5
JavaScript

Você também pode gostar: