Como posso obter o processo com o maior pid?

1

Como posso obter o processo com o maior pid usando ps ?

    
por NirPes 01.07.2014 / 18:05

3 respostas

2

Isso não usa ps , mas é provável que parsing ps seja difícil (para não mencionar não portátil). Isso deve ser mais fácil (e pelo menos um pouco mais portátil):

( cd /proc; printf "%s\n" *; ) | sort -n | tail -n 1

Isso procura o diretório numerado mais alto dentro de / proc, o que funciona porque em muitos sistemas Unix há um diretório / proc / ### por pid que contém informações sobre esse processo.

    
por 01.07.2014 / 18:11
2
ps -eo pid= | sort -rn | head -n 1

seria POSIX.

No Linux, os ids de processo compartilham o mesmo namespace que os ids de thread. Lá você pode fazer:

ps -Leo tid= | sort -rn | head -n 1

Para obter o maior número de segmento ou processo.

    
por 01.07.2014 / 18:25
0
ps [whatever options you like] $(cd /proc; ls -d [0-9]* | sort -n | tail -1)
    
por 01.07.2014 / 18:25