使用 AppleScript 安排系统重启

Schedule a System Reboot with AppleScript

我需要安排一个 AppleScript 在每天 08:30 重新启动系统。 这台计算机还没有使用系统首选项安排自动启动,因此我无法再次使用它。

我可以使用的脚本是这样的:

tell application "System Events" restart end tell

每天在特定时间调用此脚本的最佳方法是什么?

谢谢

如果您有权访问文件夹 ~/library/LaunchAgents,则可以创建如下所示的 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>user.system_events.restart</string>
    <key>ProgramArguments</key>
    <array>
        <string>osascript</string>
        <string>-e</string>
        <string>tell application &quot;System Events&quot; to restart</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Hour</key>
            <integer>8</integer>
            <key>Minute</key>
            <integer>30</integer>
        </dict>
    </array>
</dict>
</plist>

在纯文本编辑器中编写它,将其保存为(通常)user.system_events.restart.plist(无论您使用什么字符串作为标签值,扩展名为 'plist')。然后重新启动您的机器或 运行 在终端中执行以下命令:

launchctl load '~/Library/LaunchAgents/user.system_events.restart.plist'

应该在 8:30 上午 运行 系统事件 restart 命令启动。

如果由于某些管理员限制而无法访问该文件夹,您可以使用 AppleScript 应用程序解决此问题。如果是这样请告诉我。

谢谢大家! 我尝试了您编写的所有方法,发现对于我的情况,最好的方法是使用 crontab。

所以我在终端做了:

crontab -e

并添加了这一行:

30 08 * * * osascript /path/to/my/script.app

所以每天 08:30 系统都会重新启动。