Oui, trop vieux et pourtant trop dur. J'ai essayé avec la méthode "stat" proposée ci-dessus, mais que se passe-t-il si j'ai "touché" le répertoire de processus PID hier ? Cela signifie que mon processus vieux d'un an est affiché avec l'horodatage d'hier. Non, ce n'est pas ce dont j'ai besoin :(
Dans les plus récents, c'est simple :
ps -o etimes -p <PID>
ELAPSED
339521
aussi simple que cela. Le temps est présent en secondes. Faites ce dont vous avez besoin. Avec certaines boîtes plus anciennes, la situation est plus difficile, puisqu'il n'y a pas d'etimes. On peut compter sur :
ps -o etime -p <PID>
ELAPSED
76-03:26:15
qui semblent un "peu" bizarres puisqu'elles sont au format dd-hh:mm:ss. Cela ne convient pas pour un calcul ultérieur. J'aurais préféré que ce soit en secondes, d'où l'utilisation de celui-ci :
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