segunda-feira, abril 26, 2010

[Dicas-L] pstree - Uma Visão Mais Objetiva dos Processos

[Dicas-L] - pstree - Uma Visão Mais Objetiva dos Processos

Caso não consiga visualizar esta mensagem, clique aqui.
URL deste artigo: http://www.Dicas-L.com.br/dicas-l/20100426.php

Logotipo Dicas-L, por Ricardo Burile

Acompanhe a Dicas-L no twitter

pstree - Uma Visão Mais Objetiva dos Processos

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 26 de abril de 2010

Normalmente, quando desejamos ver quais processos estão rodando em nosso servidor, usamos o comando:

   ps -ef | more 

A saída deste comando, que usamos diariamente, muitas vezes, não é das mais fáceis de se interpretar. Uma alternativa mais inteligente, é o comando pstree. A árvore de processos tem sua raiz a partir de um PID (Process ID), ou a partir do processo init. Se o nome de um usuário é especificado, a árvore de processos possui como raiz os processos deste usuário.

Vejamos um exemplo:

   % pstree   init-+-acpid                                   |-apache2-+-apache2                       |         `-2*[apache2---26*[{apache2}]]        |-atd                                           |-avahi-daemon---avahi-daemon                   |-bonobo-activati---{bonobo-activati}           |-chrome-+-chrome                               |        |-chrome---3*[{chrome}]                |        `-19*[{chrome}]                        |-chrome---7*[chrome---{chrome}]                |-console-kit-dae---63*[{console-kit-dae}]        |-cron                                            |-2*[dbus-daemon]                                 |-dbus-launch                                     |-dd                                              |-devkit-disks-da---devkit-disks-da               |-devkit-power-da                                 |-dhclient                                        |-dhclient3                                       |-drivemount_appl                                 |-evolution-data----2*[{evolution-data-}]         |-evolution-excha---{evolution-excha}   ... diversas linhas omitidas    

Para exibir a árvore de processos, bem como a identificação dos processos, usamos:

   % pstree -p   init(1)-+-acpid(944)            |-apache2(1803)-+-apache2(20235)           |               |-apache2(20292)-+-{apache2}(20294)           |               |                |-{apache2}(20295)           |               |                |-{apache2}(20296)           |               |                |-{apache2}(20297)   ... diversas linhas omitidas 

Pela listagem acima, podemos ver que o processo pai de todas as instâncias do Apache possui o número 20292. Para matar todos os processos do apache, é só terminar o processo pai.

Uma outra alternativa, é exibir a árvore de processos de um determinado usuário:

   % pstree rubens   bonobo-activati---{bonobo-activati}                                                                                                chrome-+-chrome          |-chrome---3*[{chrome}]          `-19*[{chrome}]              chrome---7*[chrome---{chrome}]      dbus-daemon      dbus-launch      drivemount_appl      evolution-data----2*[{evolution-data-}]      evolution-excha---{evolution-excha}      gconfd-2      gnome-session-+-bluetooth-apple                 |-compiz.real---sh---gtk-window-deco                 |-evolution-alarm---{evolution-alarm}                 |-firefox---14*[{firefox}]                            |-gdu-notificatio 

O comando pstree certamente faz parte daquela lista de comandos raramente utilizados, mas muito úteis. Certamente vale a pena darmos uma atenção especial a ele. O comando faz parte do pacote coreutils de sistemas Debian e derivados. O software foi desenvolvido por Werner Almesberger e Craig Small.

+ comente esta mensagem

Apoio
A Dicas-L tem o apoio da Locaweb

Nenhum comentário: