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

Запуск моно-приложения на Centos Start

Я новичок в Linux, и в настоящее время я переключаю свой сервер с Windows на Centos 6.3. Я написал небольшой UDP-сервер. Сервер UDP был написан на C #, и теперь я адаптировал его для работы с Linux с использованием Mono. Он работает нормально, когда я запускаю его таким образом:

/opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@"

Как мне запустить его автоматически - когда компьютерная статистика? (в терминах Windows: windows-service)

Я попытался создать файл запуска и поместить его в /etc/init.d но это не сработало

Мое решение goto для подобных вещей - установить и использовать supervisord.

Supervisord - это диспетчер процессов Python, который очень просто установить из репозитория пакетов вашего дистрибутива и легко настроить. Вы просто добавляете простой файл конфигурации для своего исполняемого файла, а супервизор заботится о его запуске, захвате вывода и (необязательно) его повторном запуске, если процесс не удался.

Пример конфигурации может выглядеть так:

[program:udp_server]
user = <username>
command = /opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@"
stdout_logfile = /var/log/udp_server-stdout.log
stdout_logfile_maxbytes = 10MB
stdout_logfile_backups = 5
stderr_logfile = /var/log/udp_server-stderr.log
stderr_logfile_maxbytes = 10MB
stderr_logfile_backups = 5

Также это решение работало:

Я добавил свою строку текста /opt/mono/bin/mono /root/MySoft/UDPServer.exe "$@" & к /etc/rc.d/rc.local