[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RiminiLUG-General] Starting date di un processo





Davide Venturini wrote on 12/17/03 6:52 PM:
Salve a tutti, è possibile sapere l'ora e il giorno di start di un processo?
Avrei la necessità di sapere quanto tempo la connessione internet (pppd) sta
su.
Avevo pensato di scrivere la data in un file appena lo script di connessione
parte, e poi, quando richiedevo il tempo andavo a sottrarre la data corrente
con quella scritta nel file...però...è piu complicato di quanto prevedevo

credevo avessi letto la mia risposta (soluzione) su irc, comuqnue per amor di cronaca e completezza:

19:44 @<godog> jOkz: non so, probabilmente dovresti vedere i sorgenti di ps per capire da dove lo prende quel tempo
19:45 @<godog> jOkz: sto cercando su google cmq
19:50 @<godog> jOkz: prendi il 22esimo campo di /proc/pid_di_pppd/stat
19:51 @<godog> quelli sono i jiffies (1/100 di secondo) da quando e' partito il processo
19:51 @<godog> prendi il primo numero in /proc/uptime
19:51 @<godog> moltiplichi per 100
19:51 @<godog> quello e' il tuo uptime in jiffies
19:51 @<godog> fai la differenza
19:51 @<godog> quello e' il numero di secondi da quando e' partito il processo
19:51 @<godog> semplice no? :)
19:52 :: CyA_Haway is now known as CyA
19:56 @<godog> cioe' e' il numero di jiffies da quando e' partito il processo
19:56 @<godog> che diviso 100 torna il numero di secondi
19:59 @<godog> dai si fa anche in shell


in python (passando il pid come argomento):


import sys

pid = sys.argv[1]

stat = open('/proc/%s/stat' % pid)
uptime = open('/proc/uptime')


jiffies_uptime = int(float(uptime.readline().split()[0]) * 100)
jiffies_proc = int(stat.readline().split()[21])

print "jiffies: %i" % (jiffies_uptime - jiffies_proc)



--
Mailing list info: http://lists.linux.it/listinfo/riminilug-general