Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Terminal et Uptime

18 réponses
Avatar
tagada
Bonsoir,

est-ce qu'il existe une autre commande que Uptime pour connaître le
temps de "up time" justement ?

Pas facile d'utiliser Uptime dont le format change en fonction du temps,
un truc qui donnerait le temps en secondes serait parfait, mais j'ai pas
trouvé. Ca existe ?

Merci !

Patrick

10 réponses

1 2
Avatar
Eric Jacoboni
(Patrick B) writes:

Pas facile d'utiliser Uptime dont le format change en fonction du temps,
un truc qui donnerait le temps en secondes serait parfait, mais j'ai pas
trouvé. Ca existe ?


Je ne sais pas si ça existe, mais si j'avais besoin d'un truc comme
ça, j'écrirai un script dans un langage idoine pour récupérer la
sortie de la commande uptime, en isoler les composantes temporelles
et faire le savant calcul.

--
Eric Jacoboni, ne il y a 1448663784 secondes

Avatar
frangi
Eric Jacoboni writes:

(Patrick B) writes:

Pas facile d'utiliser Uptime dont le format change en fonction du temps,
un truc qui donnerait le temps en secondes serait parfait, mais j'ai pas
trouvé. Ca existe ?


Je ne sais pas si ça existe, mais si j'avais besoin d'un truc comme
ça, j'écrirai un script dans un langage idoine pour récupérer la
sortie de la commande uptime, en isoler les composantes temporelles
et faire le savant calcul.


Penser aux fonctions *systime* et *strftime* de awk.
awk '{print systime()}' renvoie le nombre des secondes écoulées depuis
le 1er janvier 1970. Combiner cela avec uptime dans un script doit
être possible.
--
====================================================
François GIRON -- Mac OS X 10.4.6 -- Tiger
http://homepage.mac.com/fgiron/fgaccueil/index.html
~ fgironatmac.com ~
====================================================


Avatar
Eric Jacoboni
(François Giron) writes:

Penser aux fonctions *systime* et *strftime* de awk.
awk '{print systime()}' renvoie le nombre des secondes écoulées depuis
le 1er janvier 1970. Combiner cela avec uptime dans un script doit
être possible.


Bien sûr... Mais je pensais plutôt à un langage plus évolué, genre Ruby,
même : si j'y arrive avec ma date de naissance, c'est que c'est
possible avec l'uptime d'une machine, hein :)

--
Eric Jacoboni, ne il y a 1448670443 secondes

Avatar
patpro ~ Patrick Proniewski
In article <1hdwrcm.18wby3810u6f7gN%,
(Patrick B) wrote:

Bonsoir,

est-ce qu'il existe une autre commande que Uptime pour connaître le
temps de "up time" justement ?

Pas facile d'utiliser Uptime dont le format change en fonction du temps,
un truc qui donnerait le temps en secondes serait parfait, mais j'ai pas
trouvé. Ca existe ?


je n'ai rien en secondes, mais si tu sais jouer avec les dates tu peux
utiliser :

sysctl kern.boottime

qui répond un truc comme ça :

kern.boottime = Sun Apr 16 12:36:58 2006


patpro

Avatar
Eric Jacoboni
patpro ~ Patrick Proniewski writes:


je n'ai rien en secondes, mais si tu sais jouer avec les dates tu peux
utiliser :

sysctl kern.boottime

qui répond un truc comme ça :

kern.boottime = Sun Apr 16 12:36:58 2006


Ah, ben là, ça devient facile (j'ai décomposé en deux instructions
pour la lisibilité...) :

require 'parsedate'
uptime = ParseDate.parsedate( %x(sysctl kern.boottime), true)
puts(Time.now - Time.gm(*uptime))

% ruby uptime.rb
1153189.742783

--
Eric Jacoboni, ne il y a 1448708059 secondes

Avatar
Eric Jacoboni
patpro ~ Patrick Proniewski writes:


je n'ai rien en secondes, mais si tu sais jouer avec les dates tu peux
utiliser :

sysctl kern.boottime

qui répond un truc comme ça :

kern.boottime = Sun Apr 16 12:36:58 2006


Ah, ben là, ça devient facile (j'ai décomposé en deux instructions
pour la lisibilité...) :

require 'parsedate'
uptime = ParseDate.parsedate( %x(sysctl kern.boottime), true)
puts(Time.now - Time.local(*uptime))

% ruby uptime.rb
1153189.742783

--
Eric Jacoboni, ne il y a 1448708059 secondes

Avatar
Eric Levenez
Le 17/04/06 11:11, dans , « Eric
Jacoboni » a écrit :

Ah, ben là, ça devient facile (j'ai décomposé en deux instructions
pour la lisibilité...) :

require 'parsedate'
uptime = ParseDate.parsedate( %x(sysctl kern.boottime), true)
puts(Time.now - Time.local(*uptime))

% ruby uptime.rb
1153189.742783


Comment une date de boot connue à la seconde peut-elle donner une précision
à la micro-seconde ? Super ruby :->

En shell standard :

expr `date +%s` - `sysctl -n kern.boottime`

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Eric Jacoboni
Eric Levenez writes:


Comment une date de boot connue à la seconde peut-elle donner une précision
à la micro-seconde ? Super ruby :->


T'es un gros malin, toi... Si uptime est connu à la seconde et qu'il
est soustrait d'une valeur connue à la micro-seconde, tu crois que ça
donne quoi, à ton avis ?

--
Eric Jacoboni, ne il y a 1448719893 secondes

Avatar
patpro ~ Patrick Proniewski
In article ,
Eric Jacoboni wrote:

Eric Levenez writes:


Comment une date de boot connue à la seconde peut-elle donner une précision
à la micro-seconde ? Super ruby :->


T'es un gros malin, toi... Si uptime est connu à la seconde et qu'il
est soustrait d'une valeur connue à la micro-seconde, tu crois que ça
donne quoi, à ton avis ?


un résultat faux de toute maniere, mais on s'en fiche un peu je pense...
suffit de virer les fractions de secondes.


patpro


Avatar
Eric Jacoboni
Eric Levenez writes:


Comment une date de boot connue à la seconde peut-elle donner une précision
à la micro-seconde ? Super ruby :->


T'es un gros malin, toi... Si uptime est connu à la seconde et qu'il
est soustrait d'une valeur connue à la micro-seconde, tu crois que ça
donne quoi, à ton avis ?

Cela dit, bien vu : j'avais oublié l'existence de l'option -n

Mon script peut donc se résumer à la ligne suivante (et pour te faire
plaisir, je converti tout en secondes) :

puts( Time.now.to_i - %x(sysctl -n kern.boottime).to_i)

--
Eric Jacoboni, ne il y a 1448719893 secondes

1 2