Answers:
好的,关于我的上一个答案,我可以引导您逐步完成cron(UNIX计划服务的内置功能)为您运行计划的关闭命令。
它会以root身份运行,并将被强制执行。
sudo crontab -e
您需要输入登录密码,然后按Enter。
您现在将处于文本编辑器(vim)中。仔细输入以下击键。
假设您想让机器每天凌晨2点关闭,我们现在输入:
* 2 * * * /sbin/shutdown -h now
如果您想让机器每天凌晨2:30关机,请输入:
30 2 * * * /sbin/shutdown -h now
现在,您应该回到开始的命令行。
你完成了!
sudo
那里吗?我知道这可能会导致它挂断,但是我很确定您必须是root用户才能运行shutdown
。
shutdown
是/sbin
这可能不是在cron的默认$ PATH。要解决此问题,请sudo crontab -e
再次执行该操作,键入dd
以删除该行(假设文件看起来像您上面链接的那个),然后将行重新输入为30 22 * * * /sbin/shutdown -h now
。
可以取消它:
停在yymmddhhmm
:
shutdown -h 1109211555
在4分钟内停止:
shutdown -h +4
/Library/LaunchAgents/me.lri.forceshutdown.plist
:
<?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>me.lri.forceshutdown</string>
<key>ProgramArguments</key>
<array>
<string>shutdown</string>
<string>-h</string>
<string>now</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
如果plist由普通用户拥有,则尝试加载它会导致错误launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
可以通过注销然后重新登录或使用以下命令来加载代理:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
这将执行正常的非强制关闭:
osascript -e 'tell app "System Events" to shut down'
可以在“ 系统偏好设置”>“节能器”>“调度”中进行调度。我不确定这将启动强制关机,您必须尝试一下。但这是一个内置选项,可以自动执行计划的掉电/上电操作。
您也可以使用终端命令强制关闭系统(需要root):
立即关闭-h
您可以将该命令放入启动或cron计划的任务中。请查看本文,以获取有关这两种服务的更多信息。
您可能还想签出一个应用程序,如恰当命名的iWannaSleep(不确定是否强制关闭)。
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
#参见下面的注释
sudo mv com.tjluoma.forceshutdown.plist /Library/LaunchAgents
sudo chown root:wheel /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
sudo launchctl load /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
按照书面说明,plist将导致每天每天晚上11点(本地时间)关闭计算机。
如果要更改时间,请在任何文本编辑器中编辑脚本。更改小时和分钟键,摘录如下:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(注意使用24小时制)
如果要在计划的时间安全关闭Mac,请考虑使用Power Manager;它可以很好地关闭,而不会阻止应用程序阻塞进程:
流氓应用程序或流程很难阻止这些步骤。
shutdown
使用shutdown
将强制退出Mac上的所有进程,包括图形应用程序。对于许多应用程序,这是攻击性行为,不会为应用程序提供太多保存状态或数据的机会。
Power Manager包含一个Schedule Assistant任务,用于关闭日程表。
披露:我与制造Power Manager的公司合作。