У меня есть и скрипт 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?