ios 从我的launchd作业接收到错误代码126

42fyovps  于 2023-02-10  发布在  iOS
关注(0)|答案(1)|浏览(174)

我正在尝试学习更多关于launchd的知识,以及如何使用它来自动化一些任务。由于某种原因,当我的非常简单的示例作业运行时,它以状态代码126退出。我已经更改了所有文件的权限,以确保我没有问题(因为126代码通常与权限有关),但问题仍然存在。
/库/启动守护程序/test.plst

<?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>test.monday</string>
    <key>Program</key>
    <string>/Users/philliptroutman/Desktop/test.sh</string>
    <key>RunAtLoad</key>
    <true/>
    <key>StartInterval</key>
    <integer>20</integer>
  </dict>
</plist>

/Users/philliptroutman/Desktop/test.sh

#! /bin/sh
echo 'some data' >> /Users/philliptroutman/Desktop/examplefile.txt
echo "some random echo!"

加载和卸载plst文件后,得到的是以下结果

launchctl unload /Library/LaunchDaemons/test.plist
launchctl load /Library/LaunchDaemons/test.plist
launchctl list | grep test.monday
-   126 test.monday

我想我的问题很简单...为什么这不起作用?

atmip9wb

atmip9wb1#

我在~/Documents/scipts文件夹中执行的launchd plist也遇到了同样的问题。奇怪的是,它们在Documents链接到的Google Drive文件夹中运行良好,但在只有我的常规~/Documents/脚本的机器上,它们会失败,错误代码为126。苹果将~/Documents Desktop和Downloads指定为私有目录。Launchd无法从它们执行脚本。
将脚本移动到一个不同的目录,如~/Library/scripts。您可以随时将它们软链接回您希望找到它们的位置。

相关问题