我正在尝试为我当前正在编写的程序(对于 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 时,程序实际上退出了。
感谢帮助!