Назад | Перейти на главную страницу

Тонкий процесс дублируется после запуска upstart.conf

Я пытаюсь бежать thin сервер в выскочке. Вот что мой 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

Если вы нажмете F5 в htop, вы увидите иерархию процессов, которая помогает объяснить, что вы здесь видите.

Вероятно, они расположены так: 586 -> 677 -> 1077 -> 1082.

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

Если у вас довольно свежая версия 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"