Неубиваемый новомодный процесс

Таким образом, я записал по-видимому основной node.js новомодный сценарий сервера на основе сценария от этой статьи, и она хорошо работает, запуская сервер и работая на ожидаемом порте. Проблема возникает, когда я пытаюсь уничтожить ее.

Я попробовал несколько команд, как stop socketserver и initctl stop socketserver (функционально эквивалентный) или kill и они все делают две вещи: успешно закончите процесс, затем запустите его назад под другим pid.

Все, что я хочу, - чтобы этот процесс закончился, когда я говорю его, но переикра, когда это не действительный код выхода; что я сделал неправильно?

description "node.js Socket Server"
author      "moberemk"

start on started
stop on shutdown

# Automatically Respawn
respawn
respawn limit 10 5

script
    # Not sure why $HOME is needed, but we found that it is:
    export HOME="/root"
    export SOCKETSERVER_PORT=5000

    exec sudo -u root /usr/bin/nodejs /vagrant/webroot/socketserver/app.js
end script

(также я знаю, что сценарий мог бы отчасти отдать это, но я выполняю это на поле Vagrant с помощью Ubuntu 14.04),

0
задан 23 July 2015 в 23:01
2 ответа

, как будто вы инструктируете upstart сделать что-то довольно необычное:

start on started

эта строка не вызывает синтаксической ошибки. но обычно вы указываете start stanza like so:

start on started some-other-service

предполагая, что вы хотите, чтобы ваш сервис nodejs запускался при старте (и предполагая, что для этого требуется подключение к Интернету), возможно, вы хотели сделать что-то вроде:

start on (local-filesystems and net-device-up IFACE!=lo)

edit

start on started

после дальнейшего изучения, я определил, что эта строка на самом деле вызывает запуск вашего сервиса всякий раз, когда запускается другой сервис, что объясняет, почему ваш процесс стал невозможен.

.
1
ответ дан 4 December 2019 в 16:52

Закомментируйте или удалите строки респауна

0
ответ дан 4 December 2019 в 16:52

Теги

Похожие вопросы