[C/Unix] Date de création d'un processus

Date de création d'un processus [C/Unix] - C - Programmation

Marsh Posté le 19-01-2004 à 14:47:30    

je cherche à récupérer la date de création d'un processus tel qu'on peut le voir dans un ps aux.
 
avec <sys/times.h> je suis bien en mesure de récupérer le nombre de tops d'horloge depuis sa création ( les tms_[c][s]utime)  mais ça ne me permet pas de calculer la date de création
 
comment puis-je l'avoir efficacement ?

Reply

Marsh Posté le 19-01-2004 à 14:47:30   

Reply

Marsh Posté le 19-01-2004 à 14:49:32    

ça c'est le temps CPU consommé ... tu veux quoi précisémen ?

Reply

Marsh Posté le 19-01-2004 à 15:00:33    

la date de création du processus :p


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 19-01-2004 à 15:11:16    

alors ça n'a rien à voir. aucune idée, lis peut être linux/Documentation/filesystem/proc.txt

Reply

Marsh Posté le 19-01-2004 à 15:13:29    

hum, il semblerait que time(NULL); convienne...


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 19-01-2004 à 15:15:05    

carrément pas, tu sais lire un man ?

Reply

Marsh Posté le 19-01-2004 à 15:15:05    

sinon question C/C++
 
c propre de mélanger dans du c++ des appels systemes pur C ou pas ?


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 19-01-2004 à 15:16:23    

ben si t'as pas le choix....

Reply

Marsh Posté le 19-01-2004 à 15:17:00    

taz a écrit :

carrément pas, tu sais lire un man ?


 
on va gruger et la calculer sans demander à noyau


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 19-01-2004 à 15:17:41    

farib a écrit :


 
on va gruger et la calculer sans demander à noyau

allo ? tu as lu le man de time ?

Reply

Marsh Posté le 19-01-2004 à 15:17:41   

Reply

Marsh Posté le 19-01-2004 à 15:26:08    

Code :
  1. #include <sys/times.h>
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <time.h>
  5. static unsigned clock_to_secs(clock_t t)
  6. {
  7.   return t / sysconf(_SC_CLK_TCK);
  8. }
  9. int main()
  10. {
  11.   clock_t start, end;
  12.   start = times(NULL);
  13.   sleep(5);
  14.   end = times(NULL);
  15.   printf("%u\n", clock_to_secs(end-start));
  16.   return 0;
  17. }


 
suffit de lire les man
 
enfin c'est qu'un pauvre exemple qui montre sysconf et times, sinon y a 36 solution effectivement. le mieux c'est de passer par gettimeofday pour une grance précision. mais tout ça t'oblige à mémoriser le début d'exécution. je suis toujours entrain de chercher une autre solutions externe plus précise, vu d'un observateur extérieur


Message édité par Taz le 19-01-2004 à 15:30:25
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed