запустить программу ruby ​​при запуске

Я написал небольшой сервер webSocket с использованием ruby. Я запускаю его из командной строки с помощью команды:

ruby websocket_server.rb

Это включит сервер и будет работать до тех пор, пока я не оставлю свое соединение ssh открытым и работающим (я делаю это на сервере, который находится в удаленная ферма серверов, поэтому нет прямого доступа). Я хотел бы понять, как написать два сценария: один запускает программу ruby ​​при запуске, а другой проверяет (скажем, каждые 30 минут), запущена ли программа. В качестве sidenote моя конечная цель - иметь «кнопку» на панели инструментов php, чтобы снова запустить процесс, если он зависает, не дожидаясь процесса проверки и перезапуска (я уже могу проверить состояние процесса).

3
задан 12 August 2015 в 13:03

1 ответ

Использование Ubuntu 14.04 выскочка , таким образом, можно записать маленький файл конфигурации, говорящий, как Вы хотите, чтобы выскочка справилась с Вашим сервисом, который, например, Вы называете "myweb". Используя sudo создают файл, названный /etc/init/myweb.conf (символьная ссылка оттуда на реальный файл не будет работать) с содержанием что-то как:

description "run webSocket server when network ready"
start on static-network-up
respawn
exec ruby websocket_server.rb

можно проверить это с

sudo start myweb
status myweb
sudo stop myweb

Эти status, команда покажет, работает ли процесс все еще. respawn говорит, что Вы хотели бы его автоматически перезапущенный, если это умирает. Запуск, остановитесь, и команды состояния, все просто связываются с initctl. См. man initctl, man 5 init для conf формата файла, и новомодная поваренная книга .

0
ответ дан 12 August 2015 в 23:03
  • 1
    Эй. Первое спасибо много за Ваш ответ. Я пытаюсь сделать это, но когда я ввожу код и выполняю его, я получаю Ошибку. Это говорит в Конце: " ImportError: никакой модуль, названный " matplotlib" Что я могу сделать? – Stap Denisov 23 November 2016 в 02:22

Другие вопросы по тегам:

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