upstart.conf 运行后,Thin 进程重复

upstart.conf 运行后,Thin 进程重复

我正在尝试thin在 upstart 中运行服务器。这是我的upstart.conf文件包含的内容:

description 'kitfaye'

start on runlevel [12356] stop  on runlevel [!12356]
respawn

script
   exec su -l deploy -c "export RAILS_ENV=production && cd
  /home/deploy/kitfaye && thin start -e production -p 8003 -R config.ru"
end script

重启我的 ubuntu 机器后,我可以在 htop 中看到 4 个进程thin。您可以在附件图片中看到它们。当然我无法连接到 8003 端口。那里发生了什么?

https://drive.google.com/file/d/0B-jLZf9ippNgYzIwSFZzZUozamM/edit?usp=sharing

在此处输入图片描述

答案1

如果在 htop 中按 F5,您会看到进程层次结构,这有助于解释您在此处看到的内容。

它们的顺序可能是这样的:586 -> 677 -> 1077 -> 1082。

586 'su' - spawns 677 'export ...; cd ...; thin start ...' which spawns 1077 'thin start ...' which spawns 1082

答案2

如果你有一个较新的 Upstart 版本(我认为精确就可以了),那么我建议使用这个配置:

description "kitfaye"

start on runlevel [2345]
stop on runlevel [016]

setuid deploy
chdir /home/deploy/kitfaye
env RAILS_ENV=production

exec thin start -e production -p 8003 -R config.ru"

相关内容