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: 34.099 ]

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

Sistemas operacionais imutáveis e suas tecnologias

GoboLinux? Que distribuição é essa? (Parte 1- Primeiros contatos)

FAI (Fully Automatic Installation)

L.F.A.Q : Linux Frequently Asked Questions

BASH (Bourne - Again Shell) - De usuário para usuário

  
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