Io ho:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
correre come un semplice timer senza fronzoli per ricordarmi quando qualcosa dovrebbe essere fatto. Questo sleep 210m
è PID 25347.
Sto cercando di capire quanto tempo rimane nel sonno. Il migliore che ho escogitato, con me inserendo la quantità di sonno originale (210 minuti) è:
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(Spiegazione: Il primo bit calcola il numero di secondi nel sonno originale; il $(ps…)
bit ottiene il tempo da quando il sonno è iniziato in secondi, quindi il resto li sottrae e viene visualizzato in minuti e secondi.)
Mi viene in mente che ciò sarebbe utile in generale; c'è un modo migliore per farlo? O almeno un modo intelligente per analizzare il tempo di sonno ps -o args
?
exec
). Ma questo è un buon punto per qualsiasi soluzione generale.
mksh
e ksh93
almeno) sono sleep
integrate (quindi non si presentano ps
). Dovresti sapere in anticipo con quali sleep
implementazioni hai a che fare.
sh -c 'sleep 1; sleep 2'
con moltesh
implementazioni, è lo stesso processo che viene eseguitosh
e successivamente eseguitosleep 2
(1 secondo dopo).