首页 > 解决方案 > 启动我的 Mac 时如何让 Python 程序运行?

问题描述

我想在我启动我的 Mac 时运行我的一个 Python 程序。我还想要指定何时希望其他 Python 程序在我的 Mac 上运行的选项。例如,每天下午 4 点。

我做过研究,我知道为了做到这一点,您必须创建一个启动守护程序并将其添加到 Mac LaunchD。我还看到您必须创建一个与您的特定 Python 脚本相对应的“plist”文件。

但是,如何创建 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>script.name</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/python</string>
        <string>/path/to/python/script.py</string>
    </array>
    <key>StandardErrorPath</key>
    <string>/var/log/python_script.error</string>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

但是,我使用什么应用程序来编写这个?我是否在 TextEdit、Xcode 等应用程序中输入此文本?以及如何保存此文件以便我的 Mac 将其识别为 plist 文件?

那么,如何将此 plist 文件添加到 LaunchD 中,以便我的脚本可以在启动时运行,或者在我指定的时间运行?

我知道我有很多问题,但我无法在其他网站上找到直接答案。先感谢您。

标签: pythonmacos

解决方案


要编辑它,请使用文本编辑器,如 TextEdit。您必须使用扩展名保存它,.plist因此它看起来像:myprogramlauncher.plist.

然后,将其移至以下目录之一:/System/Library/LaunchAgents/System/Library/LaunchDaemons/Users/<username>/Library/LaunchAgents

之后,使用initctl load path/to/myprogramlauncher.plist(替换为文件的位置。)


推荐阅读