ปิดเครื่องโดยไม่แสดงข้อความยืนยัน:
osascript -e 'tell app "System Events" to shut down'
ปิดตัวลงหลังจากแสดงกล่องโต้ตอบการยืนยัน:
osascript -e 'tell app "loginwindow" to «event aevtrsdn»'
รีสตาร์ทโดยไม่แสดงกล่องโต้ตอบการยืนยัน:
osascript -e 'tell app "System Events" to restart'
รีสตาร์ทหลังจากแสดงกล่องโต้ตอบการยืนยัน:
osascript -e 'tell app "loginwindow" to «event aevtrrst»'
ออกจากระบบโดยไม่แสดงข้อความยืนยัน:
osascript -e 'tell app "System Events" to «event aevtrlgo»'
ออกจากระบบหลังจากแสดงกล่องโต้ตอบการยืนยัน:
osascript -e 'tell app "System Events" to log out'
ไปนอน ( pmset
):
pmset sleepnow
ไปที่โหมดสลีป (AppleScript):
osascript -e 'tell app "System Events" to sleep'
นำจอแสดงผลเข้าสู่โหมดสลีป (10.9 ขึ้นไป):
pmset displaysleepnow
AERegistry.h
สี่รหัสตัวอักษรสำหรับเหตุการณ์ที่แอปเปิ้ลมีการระบุไว้ใน
คำสั่งกิจกรรมระบบทั้งหมดข้างต้นส่งกิจกรรม Apple ไปที่loginwindow
กระบวนการ loginwindow
จะถูกส่งเหตุการณ์ Apple เดียวกันกับด้านบนเมื่อคุณออกจากระบบรีสตาร์ทปิดเครื่องหรือทำให้ Mac เข้าสู่โหมดสลีปตามปกติ ดูเทคนิคถาม & ตอบ QA1134: ทำให้เกิดการรีสตาร์ทปิดและ / หรือออกจากระบบโดยทางโปรแกรม
ตามที่man shutdown
, shutdown -h now
และshutdown -r now
ส่งกระบวนการTERM
สัญญาณตามด้วยKILL
สัญญาณ
ตามDaemons และคู่มือการเขียนโปรแกรมบริการเมื่อคุณบอกloginwindow
ให้ออกจากระบบกระบวนการที่สนับสนุนการเลิกจ้างกระทันหันจะส่งKILL
สัญญาณและกระบวนการที่ไม่สนับสนุนการเลิกจ้างกะทันหันถูกยกเลิกในรูปแบบที่แตกต่างกัน: แอปพลิเคชัน Cocoa ได้รับapplicationShouldTerminate:
วิธีผู้แทน รับkAEQuitApplication
เหตุการณ์ Apple แอปพลิเคชันพื้นหลังรับkAEQuitApplication
เหตุการณ์ Apple ตามด้วยKILL
สัญญาณและ daemons จะรับTERM
สัญญาณตามด้วยKILL
สัญญาณหลังจากนั้นไม่กี่วินาที