Mac在启动时使用plist LaunchAgent运行python脚本–如何禁用?

2024-04-28 22:12:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为我目前正在编写的(Mac)程序实现“启动时运行”功能

目前,程序会创建一个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>my.python.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>

Source

现在,我试图了解如何实现用户从程序的设置窗口启用/禁用此功能的可能性

问题是:我是否需要让程序在用户禁用该功能时删除plist文件(通过取消选中复选框完成),然后在再次启用该功能时重新创建该文件,或者是否有办法将该文件保留在那里,并激活/停用该文件

我已经对launchctl加载/卸载进行了一些实验。但是现在,当我使用launchctl unload时,程序实际上退出了

谢谢你的帮助


Tags: 文件topathkey用户程序功能string