我有一个简单的 upstart 脚本来执行我的守护进程。执行此操作时,upstart 返回了正确的 pid,但我的守护进程无法创建实际的 pid 文件。
script
VM=$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }')
ulimit -v $VM
ulimit -c unlimited
exec $DAEMON
end script
如果我从命令行执行 $DAEMON,则所有内容都会分叉,并且 pid 文件会按预期创建。
答案1
- http://upstart.ubuntu.com/cookbook/#see-the-environment-a-job-runs-in
- http://upstart.ubuntu.com/cookbook/#checking-how-a-service-might-react-when-run-as-a-job
- http://upstart.ubuntu.com/cookbook/#determining-why-your-service-fails-to-start
如果您使用的是 Ubuntu Raring/Saucy 或 Debian sid,您可以轻松安装 procenv 以获取完整的环境详细信息(如上面的链接所示)。