Android

Comando Pstree no Linux

Comandos ps e pstree - Visualizando processos e threads no sistema Linux

Comandos ps e pstree - Visualizando processos e threads no sistema Linux

Índice:

Anonim

Ao trabalhar em uma máquina Linux, às vezes você pode precisar descobrir quais processos estão em execução no momento. Existem vários comandos que você pode usar para encontrar informações sobre os processos em execução, sendo ps e top os mais usados., falaremos sobre o comando pstree . É semelhante ao ps , mas, em vez de listar os processos em execução, mostra-os em uma árvore. O formato de árvore é uma maneira mais conveniente de exibir a hierarquia de processos e torna a saída mais atraente visualmente.

Como usar o comando pstree

A sintaxe geral para o comando pstree é a seguinte:

ps

Em sua forma mais simples, quando invocada sem nenhuma opção ou argumento, o pstree exibe uma estrutura hierárquica em árvore de todos os processos em execução:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

O item superior / raiz da árvore é o processo pai de todos os processos do sistema. Neste exemplo, é systemd , que é o primeiro processo iniciado na inicialização.

pstree mescla ramificações idênticas colocando-as entre colchetes e prefixando-as com um número inteiro que representa o número de ramificações. Isso torna a saída mais legível e visualmente atraente.

Abaixo está um exemplo mostrando como os colchetes são usados:

├─2*

é o mesmo que:

├─agetty ├─agetty

Para desativar a mesclagem de ramificações idênticas, use a opção -c :

pstree -c

Os encadeamentos de um processo são mostrados no processo pai e exibidos usando o nome do processo dentro de chaves. Aqui está um exemplo:

├─lxcfs───2*

Use a opção -t para mostrar os nomes completos dos threads. Se você deseja ocultar threads e mostrar apenas processos, use a opção -T .

Normalmente, o pstree exibe muitas linhas de saída que não cabem na tela. Para visualizar a saída uma página de cada vez, canalize-a para o comando less :

pstree | less

Se um nome de usuário for fornecido como argumento, pstree mostra apenas os processos pertencentes a esse usuário. Por exemplo, o comando a seguir mostrará apenas os processos que foram iniciados por um usuário chamado “linuxize”:

pstree linuxize

Quando PID é especificado como argumento, pstree exibe uma árvore com o processo especificado como a raiz da árvore. Aqui está um exemplo:

pstree 1943

sshd───bash───pstree

Para mostrar os processos pai do processo fornecido, use a opção -s seguida pelo processo PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Mostrar PIDs e PGIDs

Geralmente, ao executar o comando pstree , as informações mais importantes que o usuário procura são o ID do processo. Por exemplo, conhecer o PID permite eliminar um processo com defeito.

A opção -p instrui o pstree a mostrar os PIDs:

pstree -p

Os PIDs são mostrados entre parênteses após cada processo ou thread.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

Por padrão, pstree , classifique os processos com o mesmo pai por nome. A opção -n diz ao pstree para usar a classificação numérica, ou seja, classificar por PIDs:

pstree -pn

O ID do grupo de processos ou PGIDs é o ID do processo do primeiro membro do grupo de processos. Para visualizar PGIDs, use a opção -g :

pstree -g

Os PIDs também são mostrados entre parênteses após cada processo ou thread.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

Quando PIDs ou PGIDs são mostrados, a mesclagem é implicitamente desabilitada.

Mostrar argumentos da linha de comando

Alguns programas podem ser chamados com opções de configuração especificadas como argumentos de linha de comando.

Por padrão, o pstree não mostra os argumentos da linha de comando para os processos em execução. Para visualizar como o processo foi iniciado, use o comando junto com a opção -a :

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

Destacando

pstree também permite destacar processos para uma melhor representação visual.

A opção -h instrui o pstree a destacar o processo atual e todos os seus ancestrais.

pstree -h

Para destacar um processo específico, use a opção -H seguida do ID do processo:

pstree -H PID_NUMBER

Se o realce não for suportado, o comando sairá com um erro.

Conclusão

O comando pstree exibe os processos em execução na forma de uma estrutura em árvore.

Para obter informações sobre todas as opções disponíveis do pstree , digite man pstree no seu terminal.

terminal ps