Pular para o conteúdo

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.
Percival F. Jr. percival
Hits: 80.253 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   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

Instalando o Automatix no Debian Etch

Emulando o saudoso jogo ELITE em seu Linux

Como bloquear anúncios indesejados durante sua navegação pela web

Como turbinar seu GIMP com mais fontes

Instalando o Debian Lenny Linux

Trabalhando com arquivos e diretórios

Linux no micro antigo: 4 dias de aventura e aprendizado

Esgotando os recursos

Instalando o PostgreSQL no Fedora

A origem do Linux

#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

Entre na sua conta para comentar.