问题描述
|
更新:这只是Pylons应用程序中的导入错误(因为运行启动的作业时$ PYTHONPATH不同),这导致了失败重生周期。非常感谢那些告诉我查看日志的人。
大家好,
我在OS X上,尝试设置启动工作以启动并保持我的塔式应用程序运行。
我照常加载工作:
sudo launchctl unload /Library/launchdaemons/dvlf.plist
我在终端中没有看到错误。服务器永不启动。相反,我在控制台上看到了这一点:
4/12/11 6:23:57 PM com.apple.launchd[1] (com.dvlf.pylons) Throttling respawn: Will start in 9 seconds
这是.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>disabled</key>
<false/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.dvlf.pylons</string>
<key>Environmentvariables</key>
<dict>
<key>PYTHON_EGG_CACHE</key>
<string>/tmp/.python-eggs</string>
</dict>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/paster</string>
<string>serve</string>
<string>--reload</string>
<string>/Volumes/w/artfl/projects/dodgr/servers/pylons/DODGR/production.ini</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>Umask</key>
<integer>7</integer>
<key>UserName</key>
<string>_www</string>
<key>WorkingDirectory</key>
<string>/Volumes/w/artfl/projects/dodgr/servers/pylons/DODGR/</string>
<key>StandardErrorPath</key>
<string>/var/log/dvlf_paster_error.log</string>
<key>StandardOutPath</key>
<string>/var/log/dvlf_output.log</string>
</dict>
</plist>
解决方法
当我在SysV初始化系统(/ etc / inittab条目)上看到“重新生成速度太快”时,是因为所讨论的程序使用了传统的“双叉,然后是exec”策略而成为一个守护程序。许多这样的程序(例如sshd和sylogd)都支持命令行开关(例如-s表示sshd),指示它们不要执行
fork()
-ing。
问题是init(大概是已启动)正在尝试监视进程,以便在它们退出时处理重生它们。当程序尝试将自己置于后台(将其与父进程,进程组以及所有相关的信号处理断开连接)时,会将其检测为需要重新生成的近乎立即退出。 inittab(并且再次大概启动了)正在施加速率限制,以防止发生故障的程序使系统过分繁忙。
解决此问题的方法,看是否可以将此dvlfs.pylons程序配置为在前台运行,或者使用“不要分离”或“不要守护”的术语来实现此目的。
,重生消息通常是由于启动后不久进程崩溃而发生的,可能是因为配置错误。因此,请检查您的日志文件。
从列表中:
您真的有这些目录/文件吗? (检查您的plist中的所有路径-最常见的错误)
/Volumes/w/artfl/projects/dodgr/servers/pylons/DODGR/production.ini
/Volumes/w/artfl/projects/dodgr/servers/pylons/DODGR/
如果不是,则应重新编辑您的plist。