Eu suspeito que você simplesmente tenha encontrado uma condição de corrida, na qual o processo sai (a) depois que ps obtém a lista de ids de processo, mas (b) antes de realmente ler os arquivos em /proc
. Linux - e eu suspeito que isso seja verdade para outros sistemas operacionais parecidos com unix - não fornece um mecanismo atômico para obter informações sobre processos em execução.