Tanto no Linux quanto no Macos, podemos obter informações do PID e horário de início usando bash: ps -p PID_HERE -o lstart=
.
Eu ia usar lstat
e planejar isso. Mas só por curiosidade:
Programaticamente ps
tem que estar usando C
certo? E no meu uso usar as funções C é muito mais rápido, pois não preciso usar popen
para abrir e ler.
No MacOSX/Darwin aparentemente eles usam algo chamado proc_pidinfo
e um tópico no SO nos diz como fazer isso aqui:Determinar informações do processo programaticamente em Darwin/OSX
Mas e no Linux? Não consegui encontrar algo proc_pidinfo
para nós.
Obrigado!
Responder1
De acordo com múltiplo respostasno stackoverflow, ps
usa osistema de arquivos procatravésbibliotecaprocpara coletar informações do processo. Parece que esta é a forma preferida de fazer isso, então acho que lstat(2)
é a maneira certa™ de descobrir a hora de início de um processo.