尝试使用launchctl / launchd运行Python脚本,但无法加载。退出状态为2

时间:2019-08-11 16:44:27

标签: python macos

我正在尝试在macOS上每5分钟通过launchctl运行一个简单的Python脚本。我已经按照以下步骤创建了播放列表:

<?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>com.myscript</string>
        <key>ProgramArguments</key>
        <array>
          <string>/Users/me/Documents/myscript.py</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StartInterval</key>
        <integer>300</integer>
    </dict>
  </plist>

但是,脚本永远不会运行。我已经加载和卸载了多次。执行命令

/Users/me/Documents/myscript.py

正常工作,因为我在Python脚本的开头添加了“#!/ usr / bin / env python”。如果我运行launchctl -l,则会看到:

    -     2   com.myscript

我不确定2的退出状态意味着什么。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我通过使用cron(以前也不起作用)将问题脚本移到我的Home文件夹的根目录而不是Documents文件夹的目录中来工作。我认为问题是macOS Catalina对访问“文档”或“桌面”文件夹中的文件的新限制。将脚本移到其他地方似乎可以解决它。