Gerenciando Processos com o Shell

Este é o terceiro artigo de uma série, que visa a ser uma porta de entrada para o mundo GNU/Linux. Esta sequência, abordará os tópicos: comandos básicos para gerenciamento de processos, prioridade dos processos, runlevels e gerenciadores de serviços.

[ Hits: 35.007 ]

Por: rafael silveira gomes em 05/05/2014


Comandos básicos: gerenciamento de processos



Processos

Um processo, nada mais é que um programa em execução.

Estes programas podem ser executados manualmente pelo usuário ou, automaticamente pelo sistema, seja como forem iniciados, o GNU/Linux nos oferece várias ferramentas para gerenciá-los.

Comandos básicos para gerenciamento de processos:

O comando ps:

Este comando é bem simples, porém, muito completo. Ele é útil para visualizar informações sobre um processo qualquer, num determinado instante. As informações mostradas por este comando são divididas em colunas, que devemos conhecer antes de prosseguir.

São elas:
  • USER :: Login do proprietário do processo.
  • PID :: Identificador do processo.
  • %CPU :: Porcentagem de CPU utilizada pelo processo.
  • %MEM :: Porcentagem de memória virtual utilizada pelo processo.
  • VSZ :: Virtual Size. Tamanho do processo em Kbytes.
  • RSS :: Número de páginas de 1 Kbyte na memória.
  • TTY :: Identificador do terminal que controla o processo.
  • STAT :: Estado atual do processo.
  • START :: Horário em que o processo foi iniciado.
  • TIME :: Tempo de processamento utilizado pelo processo.
  • COMMAND :: Comando utilizado para iniciar o processo.

Alguns exemplos de uso do comando ps, são:

1. Exibir processos associados a um terminal:

# ps -a

2. Exibir todos os processos iniciados pelo usuário:

# ps -u usuario

3. Exibir processos não associados a nenhum terminal:

# ps -x


O comando pstree:

Este comando permite ver os processo em execução em forma de árvore. Alguns exemplos de seu uso, são:

1. Exibir os processo em execução e os comandos usados para executá-los:

# pstree -a

2. Exibir os processos em execução e os Process Identifier (PID) dos mesmos:

# pstree -p


O comando pidof:

Todo processo possui um número identificador, este número é chamado PID (process identifier, ou identificador de processo). Para descobrirmos qual é o PID de um determinado processo, utilizamos o comando pidof.

Exemplo de uso:

# pidof nomeProcesso


Os comandos kill, killall e xkill:

Estes comandos são utilizados para enviar sinais aos processos em execução. Alguns dos sinais básicos que podem ser enviados aos processos, são:
  • STOP :: Pausa o processo.
  • CONT :: Continua a execução de um processo pausado.
  • SIGTERM :: Finaliza o processo elegantemente.
  • KILL :: Finaliza o processo instantaneamente.

Comando kill:

Este comando envia um sinal para um processo, através de seu PID:

# kill -SINAL pid

Comando killall:

Este comando envia um sinal para um processo, através de seu nome:

# kill -SINAL nomeProcesso

Comando xkill:

Este comando transforma o ponteiro do mouse num X finalizador de processos. Permite finalizar um processo apenas clicando em sua janela:

# xkill


O comando top:

Este comando permite visualizar os processos em execução de forma dinâmica, assim como no comando ps. As informações mostradas por este comando, são divididas em colunas.

Estas colunas, são:
  • PID :: PID do processo.
  • USER :: Usuário que iniciou o processo.
  • PR :: Prioridade no uso do processador.
  • NI :: Niceness.
  • VIRT :: A memória virtual é a memória de troca (SWAP).
  • RES :: A memória física é a memória RAM.
  • SHR :: Quantidade de memória alocada para o processo.

* Importante: um processo reserva uma quantidade de memória além do necessário para sua execução. Esta memória pode ser requisitada por outros processos, caso seja necessário.

Os processos possuem vários estados, são eles:
  • D (Daemon) :: Processo aguardando operações E/S.
  • R (Running) :: Processo em execução.
  • S (Sleeping) :: Processo em estado de espera.
  • T (Stopped) :: Processo parado ou suspendido.
  • Z (Zombie) :: Iniciado por um processo já finalizado.

  • %CPU :: Porcentagem de uso do processador naquele instante.
  • %MEM :: Porcentagem de uso da memória naquele instante.
  • TIME+ :: Tempo de uso do processador (pode ser impreciso).
  • COMMAND :: Comando utilizado para iniciar o processo.

Exemplos de uso do comando top:

1. Monitorar todos os processos em execução:

# top

2. Monitorar processos de um determinado usuário:

# top -u usuario

3. Monitorar um único processo:

# top -p PID

    Próxima página

Páginas do artigo
   1. Comandos básicos: gerenciamento de processos
   2. Prioridade de processos, níveis de execução e gerenciadores de serviços
Outros artigos deste autor

Gerenciando arquivos com o Shell

Gerenciamento de Discos com o Shell

Introdução ao Shell

Leitura recomendada

Diminuindo o cansaço da visão por uso prolongado de PCs, tablets, smartphones ou qualquer dispositivo que emita luz de LED

Desfragmentando partições NTFS no Linux

Utilizando um SSD ao lado de um HD em Micro Desktop

Passo-a-passo para instalar o CentOS Linux 5.2

Iniciante KUbuntu 7.10 (curto e grosso)

  
Comentários
[1] Comentário enviado por albfneto em 05/05/2014 - 11:18h

Como eu falei, seria interessante que citasse, aqui nos Comentários, os links para as Partes Anteriores, 1 e 2.
mai um favoritado.

[2] Comentário enviado por rsilveiragomes em 13/05/2014 - 12:46h

Links para os outros artigos da série:

Parte 1:
http://www.vivaolinux.com.br/artigo/Introdueccedileatildeo-ao-Shell

Parte 2:
http://www.vivaolinux.com.br/artigo/Gerenciando-arquivos-com-o-Shell

[3] Comentário enviado por removido em 14/05/2014 - 19:54h

Parabens cara, claro e objetivo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts