我正在设置launchctl服务器以定期运行python文件。所以我写了一个.plist文件,auto.sh文件,它工作得很好。
但是,在安装Macos Catalina之后,它失败了。
我在auto.sh中写“ls -l”来检查文件权限,
日志显示:
ls: .: Operation not permitted
python3: can't open file 'auto.py': [Errno 1] Operation not permitted
我该如何解决?非常感谢。
这是我的代码:
auto.sh:
#!/bin/bash
. ~/.bash_profile
conda activate base
cd /Users/gassy/Documents/
ls -l
python3 auto.py
我将这样的.plist文件放在/Users/gassy/Library/LaunchAgents/com.gassy.fangzhou.plist中
...
<key>Program</key>
<string>/Users/gassy/auto/launch.sh</string>
...
最佳答案
我认为您遇到的问题不是Python,而是auto.py
的文件许可权或通往它的路径。使用哪个用户帐户运行脚本?该用户对这些可执行文件和父目录都具有必要的权限吗?我怀疑目录权限的原因是ls
和auto.py
一起失败。
如果将所有内容从/Users/gassy/Documents
移到另一个位置(可能在/opt
或/var
或类似位置下),然后确保权限是合理的,则可能会有些运气。我知道macos在/Users/<user>
下会特别对待某些导演,有时会以一种不太有用的方式...
关于python - 当我在MacOS Catalina中使用launchctl时如何修复 "Operation not permitted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58442951/