четверг, 8 февраля 2024 г.

FreeBSD: Создание своего собственного сервиса/демона

Если у вас есть некая программа, запуск которой необходимо организовать в виде сервиса в ОС FreeBSD, выполните следующие шаги:

1. Создайте и отредактируйте файл конфигурации для вашего сервиса
"ee /etc/rc.d/myapp".

Ниже пример простого запуска приложения с названием "myapp" по команде "start" и уничтожение процесса по команде "stop".

#!/bin/sh
#
#
# REQUIRE: LOGIN FILESYSTEMS
. /etc/rc.subr
name=myapp
rcvar=myapp_enable
load_rc_config $name
pidfile=/var/run/myapp.pid
start_cmd='/sbin/myapp ; echo $(pgrep myapp) > /var/run/myapp.pid ; echo myapp is now running on PID $(cat $pidfile)'
stop_cmd='killall -v $name > /dev/null ; echo myapp is not running. ; rm $pidfile'
status_cmd='if [ -e $pidfile ]; then echo myapp is running on PID $(cat $pidfile). ; return 1; fi; echo myapp is not running. ; return 0'
run_rc_command "$1"


2. Затем добавьте права на выполнение данного конфигурационного файла:
"chmod +x /etc/rc.d/myapp".

3. Далее в файле "/etc/rc.conf" необходимо добавить разрешение на запуск сервиса командой "echo myapp_enable="YES" >> /etc/rc.conf". Также в этом случае ваше приложение всегда будет запускаться при загрузке ОС.

Комментариев нет:

Отправить комментарий