python - 启动我的 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 中,以便我的脚本可以在启动时运行,或者在我指定的时间运行?
我知道我有很多问题,但我无法在其他网站上找到直接答案。先感谢您。
解决方案
要编辑它,请使用文本编辑器,如 TextEdit。您必须使用扩展名保存它,.plist
因此它看起来像:myprogramlauncher.plist
.
然后,将其移至以下目录之一:/System/Library/LaunchAgents
、/System/Library/LaunchDaemons
或/Users/<username>/Library/LaunchAgents
。
之后,使用initctl load path/to/myprogramlauncher.plist
(替换为文件的位置。)
推荐阅读
- swift - Swift:自定义 CalloutView 上的按钮操作
- mongodb - mongo deleteOne 不是函数
- python - 列表搜索中的通配符
- javascript - VueJS 自动创建嵌套对象属性以简化代码
- node.js - 特快专递不发布未定义 req.body 的数据
- scheduling - 具有作业执行时间、截止日期和处罚的作业排序
- javascript - TS2322 & TS2495 - 具有 ES6 和 ES5 目标的迭代器
- javascript - Webworker 与节点环境
- linux - 如何以非 root 用户身份运行 docker 容器以及如何将 docker 镜像分享给其他人?
- python - 使用带有预定义中心的 K-Means?