J'ai:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
fonctionnant comme une minuterie simple et sans fioritures pour me rappeler quand quelque chose doit être fait. C'est le sleep 210m
PID 25347.
J'essaie de comprendre combien de temps il reste dans le sommeil. Le meilleur que j'ai trouvé, avec moi en mettant la quantité de sommeil originale (210 minutes) est:
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(Explication: le premier bit calcule le nombre de secondes dans la veille d'origine; le $(ps…)
bit obtient le temps écoulé depuis le début de la veille en secondes, puis le reste les soustrait et s'affiche en minutes et secondes.)
Il me semble que ce serait utile en général; Y a-t-il une meilleure manière de faire cela? Ou au moins une façon intelligente d'analyser le temps de sommeil ps -o args
?
exec
). Mais c'est un bon point pour toute solution générale.
mksh
et ksh93
au moins) sont sleep
intégrés (donc ne s'afficheraient pas ps
)., Vous devez savoir à l'avance avec quelles sleep
implémentations vous avez affaire.
sh -c 'sleep 1; sleep 2'
avec de nombreusessh
implémentations, c'est le même processus qui s'exécutesh
et s'exécute plus tardsleep 2
(1 seconde plus tard).