visão geral

neste tutorial rápido, você vai aprender como encontrar o ID do processo pai no Linux a partir da linha de comandos.

também irá aprender a encontrar os filhos de um dado ID do processo pai usando o comando ps.

também vamos cobrir como produzir uma árvore de processo completa de um processo pai usando o comando . Uma coisa muito útil quando você quer identificar todas as crianças de um determinado pai, seus IDs e Nomes, que você pode precisar ao matar um processo.,

variável de ambiente de ID do processo Progenitor

o ID do processo progenitor do seu contexto actual é exposto como uma variável de ambiente. Para ver o valor que você pode ecoar para fora.

echo $PPID

Por exemplo, se você estiver SSH‘d em um servidor Linux, o valor de $PPID variável de ambiente será o ID do processo SSH processo.

a variável de ambiente só produz o ID do processo., Para ver o que é o processo pai, podemos usar o comando ps com o comando $PPID variável de ambiente.

ps -e | grep $PPID

Find the Parent Process ID of a Running Process

To determine the parent process of a specific process, we use the ps command.

ps -o ppid= -p 9801

a saída contém apenas o ID do processo-mãe em si. Usando o resultado do comando ps podemos determinar o nome do processo.,

ps -e | grep 9801
2029 ? 00:00:14 apache2

listando os processos-filhos de um Parent Process ID

com o parent process ID podemos procurar todo o processo-filho usando o parent usando o comando pgrep.

pgrep -laP $PPID

Para uma típica SSH pai, a saída irá listar os seguintes processos

30797 -bash30798 /usr/lib/openssh/sftp-server

Visualização em Árvore do Processo

Outro utilitário útil é o pstree comando. Este comando irá produzir uma árvore de processos filhos de um ID de processo pai., Por exemplo, para mostrar uma árvore de processos filhos do processo pai atual, você executaria o seguinte comando.

pstree $PPID
sshd─┬─bash───pstree └─sftp-server

a Partir do exemplo acima, podemos ver que o sshd processo é o nosso Pai atual Processo de IDENTIFICAÇÃO (PPID), e que ele tem dois filhos processos. O processo infantil é bash e sftp-server.

também podemos ver que o processobash tem o seu próprio filho, que é o comandopstree que acabamos de executar.,

o comando pode também enviar o ID do processo de cada processo na sua árvore. Para obter os IDs do processo, você usa a bandeira

. Aqui está um exemplo de uma árvore de processo para um servidor web Apache.

pstree -p 2029