ฉันสมมติว่าคุณต้องการเริ่มต้นกระบวนการนี้แทนการเรียกใช้ตามเวลาที่กำหนด
วิธีการของฉันจะเริ่มต้นจากบรรทัดคำสั่ง แต่คำสั่งใด ๆ สามารถเรียกใช้ในองค์ประกอบเชลล์สคริปต์ของสคริปต์ Automator ด้วยการปรับเปลี่ยนบางอย่าง วิธีการต่อไปนี้รวมองค์ประกอบบางอย่างเพื่อให้งานเสร็จสมบูรณ์:
tell
คำสั่งเพื่อออกจากโปรแกรมประยุกต์
- การเรียกบรรทัดคำสั่งเพื่อให้คอมพิวเตอร์เข้าสู่โหมดสลีป
- การเรียกบรรทัดคำสั่งเพื่อกำหนดเวลา 1 และ 2 ตามเวลาที่กำหนด
1. บอกแอปพลิเคชันให้ออก
สิ่งนี้สามารถทำได้ง่ายเพียง:
osascript -e 'tell application "AppName" to quit'
2. กำหนดให้คอมพิวเตอร์เข้าสู่โหมดสลีป
ดูpmset
รายละเอียดเพิ่มเติม แต่การออกคำสั่งต่อไปนี้จะทำให้คอมพิวเตอร์ของคุณเข้าสู่โหมดสลีป:
pmset sleepnow
3. กำหนดเวลาการดำเนินการที่จะดำเนินการในเวลาที่กำหนด
ดูที่คำสั่งat คำสั่งนี้ให้ความสามารถในการระบุเวลาสำหรับคำสั่งให้เรียกใช้ คุณจะต้องเปิดใช้งานฟังก์ชั่นนี้เนื่องจากไม่ได้เป็นค่าเริ่มต้น หากต้องการเปิดใช้งานatrun
daemon ให้เรียกใช้คำสั่งต่อไปนี้[reference on SU] :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
เมื่อคุณเปิดใช้งานatrun
คำสั่งใด ๆ สามารถกำหนดเวลาเฉพาะโดยการออก
echo "<command>" | at HH:MM
ซึ่งใช้งานได้เนื่องจากat
นำข้อมูลมาจากstdin
ค่าเริ่มต้น วิธีที่ง่ายกว่าคือการเรียกใช้คำสั่งที่ระบุไว้ในไฟล์ ไฟล์สามารถดำเนินการได้โดยใช้-f
แฟล็กตามด้วยชื่อของสคริปต์ที่จะเรียกใช้ดังนี้:
at -f /path/to/file HH:MM
วางมันทั้งหมดเข้าด้วยกัน
สิ่งต่อไปนี้จะถือว่าatrun
มีการเปิดใช้งาน ตัวอย่างเช่นของเล่นสมมติว่าฉันต้องการออกจาก Mail และทำให้คอมพิวเตอร์เข้าสู่โหมดสลีปเมื่อเวลา 23.00 น. ฉันจะสร้างไฟล์ที่มีคำสั่งที่ฉันต้องการเรียกใช้ดังนี้
osascript -e 'tell application "Mail" to quit'
pmset sleepnow
บันทึกไฟล์quit-and-sleep
นั้นและเรียกใช้บนบรรทัดคำสั่ง
at -f /path/to/quit-and-sleep 23:00
คำเตือน
ฉันไม่ได้ทำการตรวจสอบใด ๆ เพื่อให้แน่ใจว่าเมลปิดจริง สคริปท์ก็สันนิษฐานว่าไม่มีอะไรที่จะทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป ฉันทำให้มันง่ายที่นี่เป็นจุดเริ่มต้นสำหรับสิ่งที่คุณต้องการ