mac可实现下班后自动关机并弹出“已执行定时关机”提醒:先在“系统设置→节能→定时”设关机时间,再用launchd创建plist任务,通过osascript弹窗+delay+shutdown命令组合执行,需保存至~/library/launchagents/并运行launchctl load加载。

想让Mac在下班后自动关机,同时弹出一行提醒文字说明“已执行定时关机”,避免同事误操作或疑惑当前状态,需要组合系统定时功能与终端命令实现。
设置定时关机基础任务
打开“系统设置”→“节能”→右下角点“定时”,勾选“睡眠、重新启动或关机”复选框→从左侧菜单选择“关机”→右侧选择具体日期(如“每天”或勾选周一至周五)→输入目标时间(例如 22:00)→点“应用”。
【注意:此设置仅触发关机动作,不支持显示自定义信息】
你的Mac必须处于已唤醒且你已登录的状态,该定时关机才会生效;若当时处于睡眠或未登录,关机将被跳过。
添加关机前弹窗提示(终端命令法)
方法一:使用 osascript 执行带提示的关机指令
打开“终端”,粘贴并运行以下命令(将其中的提示文字替换成你需要的内容):
osascript -e 'display alert "已执行定时关机,请勿操作" message "系统将在10秒后关闭" as critical' -e 'delay 10' -e 'do shell script "shutdown -h now"'
这条命令会先弹出红色警告窗,显示两行文字,等待10秒后强制关机。它本身不会自动定时,需配合后续步骤绑定时间。
方法二:用 launchd 创建定时触发的 plist 任务
第一步:用文本编辑器新建文件,命名为 com.user.shutdownalert.plist,内容如下(请严格复制,仅修改
第二步:将该文件保存到 ~/Library/LaunchAgents/ 目录下(注意是当前用户的 Library,不是系统级的)。
第三步:在终端中执行加载命令:
launchctl load ~/Library/LaunchAgents/com.user.shutdownalert.plist
第四步:立即测试是否生效(可临时把时间设为1分钟后):
launchctl start com.user.shutdownalert
【关键前提:保存plist后必须执行 launchctl load,否则不会注册进系统调度】











