Tôi có:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
chạy như một bộ đếm thời gian đơn giản, không rườm rà để nhắc nhở tôi khi nào nên làm gì đó. Đó sleep 210m
là PID 25347.
Tôi đang cố gắng tìm hiểu bao nhiêu thời gian còn lại trong giấc ngủ. Điều tốt nhất tôi nghĩ ra, với tôi đưa vào thời lượng ngủ ban đầu (210 phút) là:
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(Giải thích: Bit đầu tiên tính số giây trong giấc ngủ ban đầu; $(ps…)
bit lấy thời gian kể từ khi giấc ngủ bắt đầu tính bằng giây, sau đó phần còn lại trừ chúng và hiển thị theo phút và giây.)
Nó xảy ra với tôi điều này sẽ hữu ích nói chung; Có cách nào tốt hơn để làm điều này? Hoặc ít nhất là một cách thông minh để phân tích thời gian ngủ từ ps -o args
?
exec
). Nhưng đó là một điểm tốt cho bất kỳ giải pháp chung.
mksh
và ksh93
ít nhất) đã tích sleep
hợp sẵn (vì vậy sẽ không xuất hiện ps
)., Bạn cần biết trước những sleep
triển khai mà bạn đang xử lý.
sh -c 'sleep 1; sleep 2'
với nhiềush
triển khai, đó là cùng một quy trình thực thish
và sau đó thực thisleep 2
(1 giây sau).