मैं हर पल कुछ चीजों को जांचने और छापने के लिए इस लूप को चला रहा हूं। हालाँकि, क्योंकि गणना में शायद कुछ सौ मिलीसेकंड लगते हैं, मुद्रित समय कभी-कभी एक सेकंड को छोड़ देता है।
क्या इस तरह के लूप को लिखने का कोई तरीका है जिसे मैं हर सेकंड प्रिंटआउट प्राप्त करने की गारंटी देता हूं? (बशर्ते, निश्चित रूप से, कि लूप में गणना एक दूसरे से कम लगती है :))
while true; do
TIME=$(date +%H:%M:%S)
# some calculations which take a few hundred milliseconds
FOO=...
BAR=...
printf '%s %s %s\n' $TIME $FOO $BAR
sleep 1
done
sched(7)
API (POSIX: see <sched.h>
और वहां से जुड़े पेज) में कॉल करता है , तो आप मूल रूप से इस फॉर्म की वास्तविक समय की गारंटी नहीं ले सकते।