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 210mPID 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.
mkshet ksh93au moins) sont sleepintégrés (donc ne s'afficheraient pas ps)., Vous devez savoir à l'avance avec quelles sleepimplémentations vous avez affaire.
sh -c 'sleep 1; sleep 2'avec de nombreusesshimplémentations, c'est le même processus qui s'exécuteshet s'exécute plus tardsleep 2(1 seconde plus tard).