แอปพลิเคชันนาฬิกาปลุกทำงานอย่างไร [ปิด]


0

โทรศัพท์ของฉันตายและฉันไม่มีนาฬิกาปลุก นี่เป็นวิธีแก้ปัญหาของฉัน (ใน Bash) เพื่อให้แน่ใจว่าฉันจะตื่นเช้าวันพรุ่งนี้

while [ 1 ]; do
  TIME=$(date +'%H'):$(date +'%M')
  echo $TIME
  if [ $TIME == "06:15" ];then
    osascript -e "set Volume 3"
    open /Path/To/MyFavouriteSong.mp3
    break
  fi
  sleep 58
done

รหัสนี้ใช้งานได้ดี ( Mac OSX 10.12.2และตราบใดที่คอมพิวเตอร์ของฉันไม่เข้าสู่โหมดสลีป) แต่มันก็ค่อนข้างโง่

มันไม่ชัดเจนสำหรับฉันว่า CPU จะทำอย่างไรในการวัดเวลาที่แน่นอน ฉันไม่รู้ว่าโดยทั่วไปแล้วแอปนาฬิกาปลุกจะทดสอบทุก ๆ 58 วินาที (หรือระยะเวลาอื่น ๆ ที่ใกล้กว่า แต่ก็ยังสั้นกว่าหนึ่งนาที) ถ้าถึงเวลาที่จะส่งเสียงเตือนแล้วหรือว่ามีกลไกบางอย่างสำหรับ CPU ที่จะส่ง สัญญาณไปยังโปรแกรมในเวลาที่กำหนด


ฉันเห็นการโหวตอย่างใกล้ชิดเพราะ "คำถามนี้ไม่เกี่ยวกับฮาร์ดแวร์หรือซอฟต์แวร์คอมพิวเตอร์ภายในขอบเขตที่กำหนดไว้ในศูนย์ช่วยเหลือ" คำถามจะเหมาะกว่า StackOverflow หรือที่อื่นหรือไม่
Remi.b

อาจจะดูว่าcron daemons ถูกนำไปใช้อย่างไร
grawity

การโหวตอย่างใกล้ชิดเป็นของฉัน นี่อาจเป็นคำถามเกี่ยวกับแนวเขตดังนั้นฉันต้องการให้การปิดที่อาจเกิดขึ้นเป็นเรื่องธรรมชาติมากกว่าที่จะโพสต์ความคิดเห็นและมีอิทธิพลต่อผู้ลงคะแนนคนอื่น ๆ เหตุผลของฉันคือคำถามการตั้งโปรแกรมนอกหัวข้อและการทำงานของโปรแกรมนาฬิกาปลุกใด ๆ / ทั้งหมดนั้นกว้างเกินไป ฉันไม่รู้จริงๆว่าเว็บไซต์ไหนจะดีที่สุดสำหรับสิ่งนี้ดังนั้นฉันจึงไม่แนะนำ ดังนั้นดูเหมือนเป็นเหตุผล แต่ฉันไม่ได้เป็นผู้ใช้ของไซต์นั้นมากนักดังนั้นไม่แน่ใจว่ามันเข้ากันได้ดีเพียงใด หากความคิดเห็นนี้ดึงดูดความคิดเห็นว่านี่เป็นหัวข้อที่นี่ฉันจะถอนการโหวตอย่างใกล้ชิด
fixer1234

ใช้งาน cron
DavidPostill

@ fixer1234 IMHO หลักของคำถามคือCPU จะทำอย่างไรในการวัดเวลาที่แน่นอน? และฉันคิดว่าในหัวข้อ การแก้ไขบางอย่างเพื่อมุ่งเน้นคำถามจะช่วยได้
เลียนแบบ Twisty

คำตอบ:


3

นี่https://unix.stackexchange.com/questions/64191/how-do-the-internals-of-the-cron-daemon-workจะมีการอธิบาย (ในตัวอย่างของ cron) ในวิธีการที่คุณสามารถใช้โปรแกรมที่ ทำบางสิ่งบางอย่างทุกๆ X วินาที / นาที มันทำคล้ายกับวิธีการของคุณ

หากคำถามของคุณคือวิธีที่ซีพียูรู้เวลาปัจจุบัน: โดยปกติจะมีนาฬิกาฮาร์ดแวร์อยู่บนเมนบอร์ดซึ่งทำงานในลักษณะเดียวกันกับนาฬิกาข้อมือควอทซ์ทั่วไปซึ่งสามารถสื่อสารกับซีพียูได้ ซีพียูสามารถถามนาฬิกาเหล่านี้ทุก ๆ มิลลิวินาทีหรืออะไรก็ได้เวลาเท่าไร นี่คือเหตุผลที่มักจะมีแบตเตอรี่เซลล์แบบเหรียญนั่งอยู่บนเมนบอร์ด: เพื่อให้นาฬิกาฮาร์ดแวร์ทำงานต่อไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.