Obtendo o ID do processo pai / filho de um ID de processo específico

1

Estou tentando obter um nome de um processo, de acordo com seu ID de processo junto com seus nomes de filhos, pai e avós.

Eu usei ps -eo para obter o nome do ID do processo, mas não para nenhum de seus filhos, pais ou avós.

    
por John Anderson 11.08.2017 / 16:51

2 respostas

1

Tente isto:

pstree -pls your_pid

pstree - display a tree of processes.

  • -p Show PIDs. PIDs are shown as decimal numbers in parentheses after each process name.

  • -s Show parent processes of the specified process.

  • -l Display long lines. By default, lines are truncated to either the COLUMNS environment variable or the display width.

    
por 11.08.2017 / 17:34
0

Para obter um nome de processo, dado seu pid:

pid=42
ps -o comm= -p $pid

Para obter os nomes dos processos filhos de um determinado pid (procps do Linux):

ps -o comm= --ppid $pid

Para obter os nomes dos processos filhos de um dado pid (POSIX):

for cpid in $(ps -eo pid=,ppid= | awk -v pid=$pid '$2==pid{print $1}'); do ps -o comm= -p $cpid; done

Para obter o nome do processo pai de um determinado pid:

ps -o comm= -p $(ps -o ppid= -p $pid)

Para obter o nome do processo dos avós de um determinado pid (supondo que você ainda não atingiu seu sistema de inicialização):

ps -o comm= -p $(ps -o ppid= -p $(ps -o ppid= -p $pid))
    
por 25.09.2017 / 19:10