Processos no Linux

Este artigo descreve de maneira básica o tão importante conceito de processos no Linux e, em seguida, mostra quais os meios mais usados para controlá-los e manipulá-los.

[ Hits: 156.504 ]

Por: Emerson Alecrim em 23/11/2005


Verificando processos com o ps



O ps é um comando de extrema importância para o gerenciamento de processos. Por ele, é possível saber quais os processos em execução atualmente, quais os UIDs e PIDs correspondentes, entre outros.

Se somente ps for digitado na linha de comando, geralmente o sistema mostra quais os processos do usuário. É preciso usar uma combinação de opções para obter mais detalhes.

As opções mais importantes são os seguintes:
  • a - mostra todos os processos existentes;
  • e - exibe as variáveis de ambiente relacionadas aos processos;
  • f - exibe a árvore de execução dos processos;
  • l - exibe mais campos no resultado;
  • m - mostra a quantidade de memória ocupada por cada processo;
  • u - exibe o nome do usuário que iniciou determinado processo e a hora em que isso ocorreu;
  • x - exibe os processos que não estão associados a terminais;
  • w - se o resultado de processo não couber em uma linha, essa opção faz com que o restante seja exibido na linha seguinte.

Das opções acima, a combinação mais usada é aux:

$ ps aux

Como exemplo, o resultado obtido com esse comando foi o seguinte:


Note que usando a combinação lax, o resultado mostra mais detalhes:

$ ps lax

A seguir, segue a descrição dos campos mostrados anteriormente e alguns que só são mostrados com a combinação lax:
  • USER - nome do usuário dono do processo;
  • UID - número de identificação do usuário dono do processo;
  • PID - número de identificação do processo;
  • PPID - número de identificação do processo pai;
  • %CPU - porcentagem do processamento usado;
  • %MEM - porcentagem da memória usada;
  • VSZ - indica o tamanho virtual do processo;
  • RSS - sigla de Resident Set Size, indica a quantidade de memória usada (em KB);
  • TTY - indica o identificador do terminal do processo;
  • START - hora em que o processo foi iniciado;
  • TIME - tempo de processamento já consumido pelo processo;
  • COMMAND - nome do comando que executa aquele processo;
  • PRI - valor da prioridade do processo;
  • NI - valor preciso da prioridade (geralmente igual aos valores de PRI);
  • WCHAN - mostra a função do kernel onde o processo se encontra em modo suspenso;
  • STAT - indica o estado atual do processo, sendo representado por uma letra: R - executável; D - em espera no disco; S - Suspenso; T - interrompido; Z - Zumbi. Essas letras podem ser combinadas e ainda acrescidas de: W - processo paginado em disco; < - processo com prioridade maior que o convencional; N - processo com prioridade menor que o convencional; L - processo com alguns recursos bloqueados no kernel.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Sinais de processos
   3. Comandos nice e renice
   4. Verificando processos com o ps
   5. Verificando processos com o top
   6. Os recursos jobs, fg e bg, fuser, pstree, nohup
Outros artigos deste autor

Máquina Virtual Java (Java Virtual Machine)

O gerenciador de boot GRUB

Usando cron e crontab para agendar tarefas

Leitura recomendada

Ruby + Rails + Gem + Mongrel Cluster + Apache + MySQL n0 Red Hat EL

Soluções: open source ou proprietária? Salada mista!

Salada mista de Linux

Jaulas com debootstrap e schroot

Service Menus: Integrando scripts para conversão de áudio no Dolphin, Konqueror e Nautilus

  
Comentários
[1] Comentário enviado por mascote24 em 23/11/2005 - 10:19h

Parabéns Weber, excelente artigo !

Para conhecer/saber como funcionam processos nos *nix está completo. Começar a aprender com este artigo é no mínimo começar por um bom começo.

Acrescentei-o aos meus favoritos.

[2] Comentário enviado por mms_ba em 23/11/2005 - 16:03h

Parabens pela qualidade/ conteúdo do material. :) Ja adicionei aqui nos favoritos.

[3] Comentário enviado por silviojunior em 23/11/2005 - 19:37h

Artigo de excelente qualidade!

[4] Comentário enviado por in54no em 23/11/2005 - 21:24h

Muito bom,
Parabens!

[5] Comentário enviado por Cybertitan em 24/11/2005 - 01:55h

Otimo artigo, resumiu muito bem, esta de parabens.

[6] Comentário enviado por luiscarlos em 24/11/2005 - 10:29h

Sempre percebi que a maquina depois de inciar mesmo com os serviços não essenciais todos parados, ainda rodam em médiua de 60 a 70 processos, a maioria em estado sleeping ou em espera, alguém sabe quais os processos minimos necessários para que a maquina funciona usando o mínimo de memória? eu gostaria de rodar uma console com o mínimo necessário e tmb depois rodar o KDE com o mínimo necesário, já retirei tudo que nao precisava, mas ainda tem muito processo, queria diminuir pra uns 30 no maximo

[7] Comentário enviado por xith em 24/11/2005 - 17:24h

Cara parabens pelo artigo, tirei uma duvida vital nele!
Excelente

[8] Comentário enviado por PCMasterPB em 26/11/2005 - 17:50h

Realmente muito bom esse artigo! Emerson, você está de parabéns!!!

[9] Comentário enviado por brunomark em 01/08/2006 - 19:41h

Excelente material Emerson, matéria fundamental para sobreviver no modo texto

[10] Comentário enviado por decohab em 17/10/2006 - 13:42h

Legal einh boa dica para iniciantes
Ai vai mais um bom tutorial pra galera GNU
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4152&pagina=6

Só uma complementação a vezes até util para não deixar o SHELL preso é usar recursos em background .. util para quando se quer copiar arquivos acima de 200 megas e não se ker ficar preso esperando terminar.. basta usar no final do comando &.

ex.

# cp arquivo.xxx /home &

!!Valew!!!

[11] Comentário enviado por cassimirinho em 16/01/2008 - 13:52h

Uma pergunta sobre processos, a cada reinício do sistema o número do PID é sempre o mesmo pra cada "executável" ?

[12] Comentário enviado por stickybit em 21/01/2009 - 17:04h

Vale lembrar que, os números nice vão de -20a +19. Qualquer usuário pode iniciar um processo com um número nice positivo, mas apenas o superusuário (root) pode diminuir o número nice de um processo, aumentando com isso a sua prioridade.

[13] Comentário enviado por thiagomadeira em 04/01/2013 - 09:51h

Maninho muito bom o seu artigo, parabéns !!!

[14] Comentário enviado por removido em 23/01/2014 - 10:18h

Excelente artigo! Obrigado por compartilhar conhecimento!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts