Analisando processos em seu GNU/Linux

Muitas vezes é necessário que tomemos conhecimento sobre quais processos estão rodando em nosso Linux, seja para analisarmos algum processo em particular, ou termos uma visão geral do funcionamento do sistema. Esta é uma das tarefas mais importantes para um administrador, pois é importantíssimo saber o que realmente está acontecendo em determinado momento com o sistema.

[ Hits: 78.043 ]

Por: Percival F. Jr. em 22/07/2008 | Blog: http://www.debianbrasil.890m.com


Analisando processos



Muitas vezes é necessário que tomemos conhecimento sobre quais processos estão rodando em nosso Linux, seja para analisarmos algum processo em particular ou termos uma visão geral do funcionamento do sistema.

Um processo nada mais é do que um programa carregado na memória de seu PC. Este pode ter sido iniciado pelo usuário ou fazer parte da base necessária para que o sistema se mantenha funcionando.

Esta é uma das tarefas mais importantes para um administrador, pois é importantíssimo saber o que realmente está acontecendo em determinado momento com o sistema.

Existem alguns comandos que poderão lhe ajudar a fazer isto com certa facilidade.

Neste tutorial básico, tentarei demonstrar ao administrador iniciante alguns comandos e suas utilidades, bem como fazer um rápido apanhado sobre o assunto "processos".

Como já dito, cada programa aberto em seu PC é denominado processo. A ferramenta de maior utilidade para avaliarmos os processos consiste em um comando denominado ps.

O "ps" é um dos comandos mais complexos que existem e o que cada administrador costuma fazer é determinar um conjunto de parâmetros prediletos e usá-los habitualmente. Esta complexidade deve-se à fusão das variantes derivadas do Unix, GNU e BSD, e como tal, pode ser usado no formato desejado dentro destas 3 "famílias". Os parâmetros Unix são precedidos por um "-"; os GNU por um "--" e os BSD são comandados diretamente ao terminal.

Vejamos o comando (nos exemplos que verão a seguir eu posso ter excluído algumas linhas da saída dos comandos a fim de economizar espaço e poupar sua paciência):

$ ps

  PID TTY          TIME CMD
11410 pts/0    00:00:00 bash
11431 pts/0    00:00:00 ps

O comando "ps" executado sem parâmetros não mostra nada de especial, além do PID (Process IDentification) e processos do usuário definido pelo $ no terminal atual. No caso, o "ps" que acabei de executar e o shell em si. A terceira coluna nos informa quanto tempo de CPU foi usado para rodar o processo.

Vamos incrementar um pouco isto. Uma melhor análise dos processos pode ser obtida com o comando:

$ ps ax

  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 init [2]
    2 ?        SN     0:00 [ksoftirqd/0]
    3 ?        S<     0:00 [events/0]
    4 ?        S<     0:00 [khelper]
    5 ?        S<     0:00 [kthread]
    8 ?        S<     0:00 [kblockd/0]
    9 ?        S<     0:00 [kacpid]
  158 ?        S<     0:00 [kseriod]
  200 ?        S      0:00 [pdflush]
  201 ?        S      0:00 [pdflush]
  202 ?        S<     0:00 [kswapd0]
  203 ?        S<     0:00 [aio/0]
  678 ?        S<     0:00 [khubd]
  744 ?        S<     0:00 [ata/0]
  746 ?        S<     0:00 [ata_aux]
  760 ?        S<     0:00 [scsi_eh_0]
  761 ?        S<     0:00 [scsi_eh_1]
 1031 ?        S<     0:00 [reiserfs/0]
 1544 ?        S<     0:00 [kpsmoused]
 1875 ?        S<     0:00 [wrap_wq]
 1877 ?        S<     0:00 [ndis_wq]
 1959 ?        S<     0:00 [kmirrord]
 2383 ?        Ss     0:00 /sbin/portmap
 2634 ?        Ss     0:00 /sbin/syslogd
 2640 ?        Ss     0:00 /sbin/klogd -x
 2717 ?        Ss     0:00 /usr/bin/dbus-daemon --system
 2725 ?        Ss     0:02 /usr/sbin/hald
 2726 ?        S      0:00 hald-runner
 1410 pts/0    Ss     0:00 bash
13281 ?        S      0:00 /usr/lib/notification-daemon/notification-daemon
13795 ?        S      0:00 /usr/bin/perl /usr/share/gkrellm/GrabWeather SBSP
13824 pts/0    R+     0:00 ps ax

A primeira coluna refere-se ao PID (notem que o primeiro processo, que recebeu a PID 1, é o "init"), a terceira coluna determina o status do processo, e a última o comando que originou o processo. Os processos que encontram-se grafados entre colchetes são aqueles varridos para a swap, por encontrarem-se inativos.

Isso tudo será explicado mais detalhadamente logo a frente.

    Próxima página

Páginas do artigo
   1. Analisando processos
   2. Adendo 1 - Gerenciamento de memória
   3. Voltando ao assunto...
   4. Adendo 2 - O init
   5. Mais um pouco sobre o tema...
   6. Adendo 3 - Matando processos
   7. Considerações finais
Outros artigos deste autor

Ubuntu 64: Como criar um chroot para aplicações 32 bits

Emulando o saudoso jogo ELITE em seu Linux

Linux_logo: customizando até o SHELL do seu GNU/Linux

Como selecionar que processos serão iniciados ao boot - sysv-rc-conf

Princípios do APT-GET: Conheça esta fantástica ferramenta do Debian

Leitura recomendada

Customizando o DVD de instalação do Slackware

Instalando Free Pascal Compiler no Ubuntu

Monitorando a saúde de HD e SSD com HDSentinel

Processos no Linux

Instalar o Ubuntu Server

  
Comentários
[1] Comentário enviado por maran em 22/07/2008 - 10:32h

Percival, meus parabéns, realizou um excelente trabalho.
Gostei muito, bem explicado, ficou bem claro o que você quis passar.
Bom, só me resta adiciona-lo aos favoritos
:)

Abraços

[2] Comentário enviado por gjr_rj em 22/07/2008 - 11:05h

Parabéns,

também vai para meus favoritos.

[3] Comentário enviado por Pianista em 22/07/2008 - 11:35h

Muito Bom! está de parabéns! e para aqueles que quiserem matar uma arvore de processos pelo nome existe o "$ killall nomedocomandoqueiniciouoprocesso" d=^) .. EX: "$killall firefox", testem ai.. hauhauhauha.. xD

você é uma altarquia!
Abraços! Valew!

[4] Comentário enviado por phvie em 22/07/2008 - 14:06h

Ótimo artigo! Bem explicado e de fácil entendimento.

[5] Comentário enviado por eltondhiego em 22/07/2008 - 14:21h

Ótimo artigo!! Parabéns!!

[6] Comentário enviado por iz@bel em 22/07/2008 - 17:08h

Eu tava precisando aprender um pouco mais sobre isso mesmo, valeu!
Muito Bom!

[7] Comentário enviado por f_Candido em 23/07/2008 - 23:03h

Excelente. Ficou muito bom. Pré-requisito para qualquer aspirante a Linuxer.

Abraços

[8] Comentário enviado por ario em 24/07/2008 - 07:40h

Só para completar existe um aplicativo que se chama htop, vale a pena conhecer.
Para melhores informações: http://htop.sourceforge.net/
Precisa de bibliotecas ncurses instaladas.

htop é um visualizador de processos do Linux, bem como estado da memória, tudo com distinção de cores. É quase um gráfico, porém para consoles e emuladores de terminais. Ele concentra funções, de forma intregada dos comandos mem, tree, ps, kill, top, nice, ou seja tudo que é relacionado à processos (memória e cpu) numa mesma interface de forma organizada e agradável. Para mim é muito útil para manutenção remota via terminal SSH... Bem! somente usando é que a gente sabe, como que ele salva nestas horas!




[9] Comentário enviado por rafael_novello em 13/08/2008 - 09:56h

Acho que este é um dos melhores tutos que eu ja li...muito legal msm...parabens!!!!

Aqui sempre encontro ótimos tutos sobre Linux...

VLW

[10] Comentário enviado por eng_ividal em 18/09/2008 - 11:33h

Bem completo o seu artigo parabens!!!

[11] Comentário enviado por souza889 em 12/05/2009 - 21:13h

Percival

Sinceramente, este é o tutorial! claro não desmerecendo nenhum outro, mas gostei da forma com que abordou o assunto, deixou bem claro a importância do entendimento e conhecimento do sistema.
Parabéns. Este vai para meus favoritos.

Abração

[12] Comentário enviado por laurimourenbrame em 13/04/2012 - 14:29h

Parabéns, excelente artigo, me ajudou bastante, ou melhor, me salvou! Obrigado e abraço.

[13] Comentário enviado por vinteumdoonze em 14/03/2013 - 00:45h

Muito bom o artigo, aprendi muito, Parabéns. Ganhou +1 favoritos.

[14] Comentário enviado por felipe_futty em 07/06/2013 - 14:27h

Muito bom artigo, apenas fiquei com uma dúvida:
Como eu faria para saber quanto tempo EXATO um certo processo está rodando?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts