0

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

目前,该程序会为 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>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>

资源

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

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

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

感谢帮助!

4

0 回答 0