OS X上的定向塔:正确启动的plist可启动并保持活动的定向塔服务器吗?

问题描述

| 更新:这只是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。