Постоянно запускать скрипт

У меня есть и скрипт ruby, и исполняемый файл qt. Оба они в значительной степени выполняют одну и ту же задачу, но прослушивают разные порты. По сути, это серверы сокетов UDP, которые прослушивают входящие соединения через указанный порт на моем удаленном сервере Ubuntu. Они прослушивают UDP-пакеты, поступающие с GSM-модемов GPS-устройств. Теперь прямо сейчас я могу подключиться к удаленному серверу по ssh и запустить скрипт ruby, чтобы начать прослушивание соединений с указанным портом: «ruby server.rb». Но как только я выхожу из системы и закрываю ssh-соединение, сценарий, вероятно, перестает слушать. Я хочу, чтобы этот сценарий продолжал прослушивать входящие соединения через этот порт вечно, даже после того, как я выйду из сервера.

Например:

sudo netstat -tulpn 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25391/mysqld    

Этот сервер mysqld постоянно прослушивает входящие подключения к порту 3306. Я хочу, чтобы мой скрипт делал то же самое. Я хочу иметь возможность запускать netstat и всегда видеть, как моя программа работает и прослушивает указанный порт.

Каков наилучший подход в этой ситуации? Создать демона? Или использовать nohup?

0
задан 31 May 2013 в 08:46

1 ответ

Используйте программу под названием screen.

Установите его на сервер и запустите screen, и любая запущенная программа останется активной на сервере.

Чтобы установить его, запустите

sudo apt-get install screen

Подробнее о других командах здесь http://www.kuro5hin.org/story/2004/3/9/16838/14935 [ 117]

0
ответ дан 31 May 2013 в 08:46

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

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