é possível que /proc/4587exista uma pasta como essa, mesmo que não exista um processo com o PID 4587?
é possível que /proc/4587exista uma pasta como essa, mesmo que não exista um processo com o PID 4587?
Respostas:
Se /procé apenas a procmontagem (e ninguém está fazendo truques com sobreposições), não, uma pasta baseada em pid existe apenas enquanto o processo correspondente existir em algum estado (inclusive como um zumbi). De fato, pouco antes de retornar uma entrada de diretório para uma identificação de processo, o kernel re-valida a existência do processo - assim, no instante em que uma entrada de diretório é retornada, o processo correspondente ainda está lá. O acesso a um diretório também começa pesquisando o processo correspondente. (Se os números das linhas mudarem, procure proc_pident_instantiatee proc_pident_lookup.)
Você pode encontrar problemas causados pela listagem /proce uso dos resultados posteriormente (até alguns microssegundos depois): um processo pode estar em execução quando você listar /proce parar antes de agir sobre os resultados.
wait()não foram chamados?
psmostra o processo, seu /procdiretório deve existir.
psacessa /procpara encontrar as informações exibidas.