Mac上让软件晚上10点准时退出有三种方法:一、快捷指令+AppleScript每日自动执行killall,无需终端权限,失败弹窗提醒;二、launchd配置plist后台守护进程,不依赖用户登录,稳定性高;三、Automator打包AppleScript为.app文件,绑定日历事件触发,支持人工确认。

Mac系统上需要让某个软件在晚上10点准时退出,避免它整夜挂着耗电或偷偷上传数据,又不想每次手动点红叉——这得靠系统级自动化工具来接管进程控制,而不是依赖图形界面操作。
用快捷指令+AppleScript每日自动杀进程
这个方法适合大多数用户,不需终端权限,设置后每天固定时间强制退出指定应用,失败时会弹窗提醒。
1、打开“快捷指令”应用→切换到“自动化”标签页→点击右上角“+”→选择“创建个人自动化”。
2、触发条件选“特定时间”,设定目标时刻(例如 22:00),开启“重复”并选“每天”,点击“下一步”。
3、点击“添加行动”→搜索“运行AppleScript”→点选后,在脚本框中粘贴以下代码:
【注意:必须把 'Safari' 替换为你要关闭的应用的准确名称,且名称必须与“活动监视器”里显示的进程名完全一致,大小写和空格都不能错】
try
do shell script "killall 'Safari'"
on error
display alert "Safari 未运行或已关闭"
end try
4、关闭“运行前询问”开关,点击“完成”保存。这一步做完,自动化就已启用,无需额外启动。
用launchd配置后台守护进程定时退出
如果你希望任务不依赖当前用户是否登录、不随快捷指令App关闭而中断,那就得走系统级路径。launchd会在后台持续监听,时间一到直接执行,稳定性远超其他方案。
方法一:终端新建plist文件
1、打开“终端”,依次执行:
touch ~/Library/LaunchAgents/com.user.quitapp.plist
nano ~/Library/LaunchAgents/com.user.quitapp.plist
2、在nano编辑器中粘贴以下内容(以每天23:15退出微信为例):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.quitapp</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>killall "WeChat"</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
</dict>
</plist>
3、按 Control+O 保存 → 回车确认文件名 → Control+X 退出 nano。
4、加载服务:
launchctl load ~/Library/LaunchAgents/com.user.quitapp.plist
5、验证是否生效:
launchctl list | grep quitapp
如果返回一行含 com.user.quitapp 的结果,说明已注册成功。
用日历事件绑定AppleScript应用实现人工确认式退出
当你不希望程序被无声杀死,而是想在关机前弹出确认框、给个缓冲机会,这个方案最合适。它把退出动作包装成一个可点击的.app文件,再由日历事件在指定时间触发。
第一步:用Automator打包退出脚本
1、打开“自动操作”(Automator)→ 新建文档 → 选择“应用程序”模板。
2、在左侧操作库搜索“运行 AppleScript”,拖入右侧工作流区域。
3、在脚本框中输入:
on run {input, parameters}
tell application "Notes" to quit
end run
4、菜单栏点“文件→存储”,命名为“退出备忘录”,保存类型选“应用程序”,存到桌面即可。
第二步:用日历安排触发
1、打开“日历”App→新建事件→设时间为明天10:00→勾选“重复:每天”。
2、展开“提醒”区域→点击“添加提醒”→选“自定”→在动作下拉菜单中选“打开文件”。
3、点击“文件”右侧的“选取”按钮→找到刚保存的“退出备忘录.app”→确认。
4、关闭日历窗口,事件即生效。到点时系统会弹出通知,点击即可运行退出动作。

















