sim, coisas muito velhas e ainda muito difíceis. Eu tentei com o método "stat" proposto acima, mas e se eu tivesse "tocado" - no dir dir de PID ontem? Isso significa que meu processo de um ano é mostrado com o carimbo de hora de ontem. Nah, não é o que eu preciso :(
Nos mais novos, é simples:
ps -o etimes -p <PID>
ELAPSED
339521
tão simples como isso. O tempo está presente em segundos. Faça o que for necessário. Com algumas caixas mais antigas, a situação é mais difícil, já que não há épocas. Pode-se confiar em:
ps -o etime -p <PID>
ELAPSED
76-03:26:15
que parece um pouco "estranho", pois está no formato dd-hh: mm: ss. Não é adequado para cálculos adicionais. Eu teria preferido em segundos, portanto, usei este:
ps -o etime -p <PID> --no-headers | awk -F '(:)|(-)' 'BEGIN{a[4]=1;a[3]=60;a[2]=3600;a[1]=86400;s=0};{for (i=NF;i>=1;i--) s=s+a[i]*$i}END{print s}'
339544
etimes
me - tempo decorrido em segundos - por isso é de leitura óptica