如何在 OS X 10.6 上激活启动日志?
我添加了一个无法正常启动的新守护进程(状态为1
)。
我想调试问题,但找不到launchd
日志,它们不在/var/log/launchd.log
.
launchctl 在 launchctl 列表输出中有一个“状态”列。联机帮助页或任何相关的 launchd 联机帮助页未提及此列或其含义。
在管理操作系统(特别是 OSX)的限制时,这三个工具的功能和历史有什么区别和重叠:
ulimit
launchctl
, launchd
sysctl
我发现在 OSX 上调整最大进程数和打开文件限制令人困惑。
某些进程是通过终端还是通过 GUI 启动,这有关系吗?
可能相关:
在我们的 Mac OS X (10.6) 服务器上,我们设置了几个由launchd
特定时间控制和启动的备份脚本。为此,我们已经定义了StartCalendarInterval
并且这一切都非常有效。
现在碰巧我想在计划外启动这些作业之一,但这并没有启动作业(但也没有给出错误/警告):
sudo launchctl start org.job-label
Run Code Online (Sandbox Code Playgroud)
launchtl 的联机帮助页指出,start
旨在测试按需作业,没有计划作业的字样。有没有办法启动预定的作业?
得到响应后编辑:是的,手动启动计划作业也可以通过launchctl start
命令进行。
正如这个答案所建议的那样,我激活了.plist
我生成的文件的日志记录。
<key>StandardOutPath</key>
<string>/path/to/logfile.log</string>
<key>StandardErrorPath</key>
<string>/path/to/another_logfile.log</string>
Run Code Online (Sandbox Code Playgroud)
但是,日志文件正在慢慢变大,我想知道是否有办法限制日志在.plist
文件中的大小?
我通过以下方式安装了 Redisbrew install redis
并尝试通过以下方式将其添加为服务:
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Run Code Online (Sandbox Code Playgroud)
这些没有产生任何错误;但是,Redis 似乎没有启动。如果我跑redis-cli ping
,我就会回来Could not connect to Redis at 127.0.0.1:6379: Connection refused
。
我可以redis-server
在另一个终端窗口中手动运行,但我希望 Redis 在登录时自动启动。
我还尝试卸载 Redis,重新安装它,并使用它brew services
来管理服务(brew services
安装 MongoDB 和 Cassandra 对我来说很好用)。
我没有看到其他人有这个问题,所以我不知道如何诊断。如果有人有任何建议,非常感谢!