Saya sudah:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
berjalan sebagai pengatur waktu yang sederhana dan tanpa embel-embel untuk mengingatkan saya kapan sesuatu harus dilakukan. Itu sleep 210m
adalah PID 25347.
Saya mencoba mencari tahu berapa banyak waktu yang tersisa dalam tidur. Yang terbaik yang saya hasilkan, dengan saya memasukkan jumlah tidur asli (210 menit) adalah:
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(Penjelasan: Bit pertama menghitung jumlah detik dalam tidur asli; $(ps…)
bit mendapatkan waktu sejak tidur dimulai dalam detik, kemudian sisanya menguranginya dan ditampilkan dalam hitungan menit dan detik.)
Itu terjadi pada saya ini akan berguna secara umum; apakah ada cara yang lebih baik untuk melakukan ini? Atau setidaknya cara cerdas untuk mengurai waktu tidur ps -o args
?
exec
). Tapi itu poin bagus untuk solusi umum apa pun.
mksh
dan ksh93
setidaknya) memiliki sleep
built-in (jadi tidak akan muncul ps
)., Anda harus tahu terlebih dahulu sleep
implementasi yang Anda hadapi.
sh -c 'sleep 1; sleep 2'
dengan banyaksh
implementasi, itu adalah proses yang sama yang mengeksekusish
dan kemudian mengeksekusisleep 2
(1 detik kemudian).