OSX启动:没有这样的文件或目录


1

我正在尝试在OS X上使用launchd设置一个简单的重复任务。我的plist文件位于/ Users / me / Library / LaunchAgents中,我想要它做的就是运行命令node --version。我的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>com.blah.testnode</string>
    <key>ProgramArguments</key>
    <array>
        <string>node</string>
        <string>--version</string>
    </array>
    <key>StartInterval</key>
    <integer>300</integer>
</dict>
</plist>

它在我运行时打印出正确的响应,launchctl load com.blah.testnode.plist但现在看起来每次后续执行都会给我以下错误:

8/24/14 1:54:03.845 PM com.apple.launchd.peruser.501 [251] :( com.blah.testnode [36483])作业未能执行(3)。设置事件告诉我们何时再试一次:2:没有这样的文件或目录

8/24/14 1:54:03.845 PM com.apple.launchd.peruser.501 [251] :( info.jayharris.testnode [36483])由于奇怪的原因,工作未能执行(3):2

有谁知道如何让这个工作?谢谢。


你能找到答案吗?如果是这样,请随时启发我们。
Brendonwbrown 2016年

Answers:


1

从LaunchAgent .plist启动节点应用程序时遇到了类似的问题。Launchctl需要二进制或脚本的完整路径才能执行所述文件。因此,解决方案是确保您为节点提供准确的目录。例如,由于我使用自制软件安装了节点,因此我指定了完整路径/usr/local/bin/node


0

有一个exec文件,基本上是一个自托管服务。当我使用代码从终端运行它时,它会毫无问题地触发

/Users/user/Public/node_modules/codem-transcode/bin/codem-transcode -c /Users/user/Public/tmp/config.json

所以我创建了一个我想在启动时运行的plist脚本,并将其存储在LaunchAgent文件夹中。运行它后,我得到“没有这样的文件或目录”错误。

这张照片显示了我所拥有的几乎所有信息

一切

这是代码中的plist

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
    <dict>
        <key>KeepAlive</key>
        <dict>
            <key>SuccessfulExit</key>
            <false/>
        </dict>
        <key>Label</key>
        <string>com.wolftech.transcode.job</string>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/tmp/com.wolftech.transcode.job.err</string>
        <key>StandardOutPath</key>
        <string>/tmp/com.wolftech.transcode.job.out</string>
        <key>StartInterval</key>
        <integer>60</integer>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/user/Public/node_modules/codem-transcode/bin/codem-transcode -c /Users/user/Public/tmp/config.json</string>
        </array>
    </dict>
</plist>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.