加载后 Launchctl 不工作/记录
Posted
技术标签:
【中文标题】加载后 Launchctl 不工作/记录【英文标题】:Launchctl not working / logging after being loaded 【发布时间】:2017-09-17 02:24:14 【问题描述】:这是我的文件,我没有记录任何内容,尽管加载显然是成功的,因为我可以看到它使用 list 命令运行;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.whtDaily.gexUW</string>
<key>ProgramArguments</key>
<array>
<string>/Users/x/Dropbox/ai/getData.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>22</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
<key>RunAtLoad</key><true/>
<key>StandardErrorPath</key>
<string>/Users/x/Dropbox/ai/logs/daily.err</string>
<key>StandardOutPath</key>
<string>/Users/x/Dropbox/ai/logs/daily.out</string>
</dict>
</plist>
我也不清楚我是否需要在加载后运行“启动”,或者由于我将“RunAtLoad”键设置为 true,这是否会自动发生?我试过在加载后调用 start,但没有运气。
此 plist 文件位于 /Library/LaunchAgents 目录中,我正在调用加载和卸载 sudo。
【问题讨论】:
我不确定这是否是问题所在,但在处理启动代理时您不应该使用sudo launchctl
。当以 root 身份运行时,launchctl
(主要)处理启动守护进程,而不是代理。另外,输出和错误文件是未创建,还是已创建但为空?
谢谢我已经切换到用户,但仍然没有运气。输出文件已创建但为空
这表明作业正在运行,但由于某种原因脚本无法正常工作(并且以不产生输出的方式失败)。
【参考方案1】:
sh 文件不可执行。
chmod +x getData.sh
成功了。
【讨论】:
以上是关于加载后 Launchctl 不工作/记录的主要内容,如果未能解决你的问题,请参考以下文章