python - 当我在MacOS Catalina中使用launchctl时如何修复 "Operation not permitted"

标签 python macos sh

我正在设置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的文件许可权或通往它的路径。使用哪个用户帐户运行脚本?该用户对这些可执行文件和父目录都具有必要的权限吗?我怀疑目录权限的原因是lsauto.py一起失败。

如果将所有内容从/Users/gassy/Documents移到另一个位置(可能在/opt/var或类似位置下),然后确保权限是合理的,则可能会有些运气。我知道macos在/Users/<user>下会特别对待某些导演,有时会以一种不太有用的方式...

关于python - 当我在MacOS Catalina中使用launchctl时如何修复 "Operation not permitted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58442951/

相关文章:

python - 访问小部件实例的 "height"属性

macos - 如何在 Cocoa 中以编程方式设置屏幕旋转配置?

html - 想要在 javascript 中 $bhai 的值

bash - 如何隐藏显示终端命令输出

linux - sed 无法按预期使用脚本中的变量

python - 检测图中的循环

python - 将错误处理中的错误消息与 Salesforce API 隔离

python - 将颜色条添加到频谱图中

macos - Visual Studio 2015 Update 2 Xamarin 无法连接到 Mac OS X

php - 如何在 Mac OS X (10.9.4) 中修复 'PHP' make?