6
วิ่งวนซ้ำอย่างแม่นยำหนึ่งครั้งต่อวินาที
ฉันใช้วงนี้เพื่อตรวจสอบและพิมพ์บางสิ่งทุกวินาที อย่างไรก็ตามเนื่องจากการคำนวณอาจใช้เวลาสักสองสามร้อยมิลลิวินาทีเวลาที่พิมพ์จึงข้ามหนึ่งวินาที มีวิธีใดที่จะเขียนลูปที่ฉันรับประกันว่าจะได้รับผลงานพิมพ์ทุกวินาทีหรือไม่? (แน่นอนว่าการคำนวณในลูปนั้นใช้เวลาน้อยกว่าหนึ่งวินาที :)) 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
33
bash
timestamps
sleep