这是我的启动播放列表
<?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.blockjunk.server.plist</string>
<key>ProgramArguments</key>
<array>
<string>/Users/jeff/scripts/nojunkweb/startserver.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
这是starterer.sh,它正在调用
#!/bin/bash
echo "Attempting to start node server"
/usr/local/bin/node /Users/jeff/scripts/nojunkweb/server.js "http://dynamic.xkcd.com/random/comic/" "https://www.shortcutfoo.com/app/drills" "https://www.duolingo.com" "http://stackoverflow.com"
launchctl list
显示com.blockjunk.server.plist的错误代码8-有人知道状态代码8是指我可能做错了什么?
这是starterver.sh上的权限-RWXR-XR-X 1 Jeff Staff 248B 2月6日10:16 Stapererver.sh
plist在〜/library/lunageents/
错误代码8:EXEC格式错误。提出了执行文件的请求,尽管该文件具有适当的权限,但并不是可执行文件所需的格式。
从terminal.app手动启动工作。错误消息到底是什么?
1)由于怪异的原因,作业未能执行(3):8 :launchD无法执行ProgramArguments
中指定的作业。鉴于您指定了适当的爆炸线,这不太可能。
2)以代码退出:8 :脚本启动D返回了此错误。尝试手动运行脚本。它有效吗?
重要的是要知道错误消息是什么。否则,不可能判断哪个错误代码8是因为我们不知道报告了哪个过程。启动报告标准错误代码,但通常不需要软件。
找出标准错误代码的意思是输入以下命令:
perl -E 'say $!=shift' 8
只需用您要寻找的代码替换8
。
我需要将plist
放入/Library/LaunchDeamons
中以root
运行,因为node
进程需要root access
。