Как запустить traefik в качестве фонового сервиса rc.d на FreeBSD?
У меня есть созданный сервисный файл: /usr/local/etc/rc.d/traefik
:
#!/bin/sh
#
. /etc/rc.subr
name=traefik
rcvar=traefik_enable
command="/usr/local/sbin/traefik"
command_args="--configFile=/usr/local/etc/traefik/config.toml"
pidfile="/var/run/${name}.pid"
traefik_enable="YES"
load_rc_config $name
run_rc_command "$1"
Когда служба звонит по команде /usr/local/etc/rc.d/traefik start
на выходе печатается: Starting traefik.
но процесс не загружается в фоновом режиме. Я должен нажать CTRL + C, чтобы убить процесс, поэтому я не могу управлять сервисом traefik.
Как запустить traefik в качестве фонового процесса?
1 ответ
Вы могли бы использовать daemon
чтобы запустить вашу команду отсоединен от управляющего терминала, так что ваш rc.d
скрипт может быть:
command="daemon /usr/local/sbin/traefik"
От мужчины:
The daemon utility detaches itself from the controlling terminal and exe-
cutes the program specified by its arguments. Privileges may be lowered
to the specified user. The output of the daemonized process may be redi-
rected to syslog and to a log file.
Проверьте параметры на странице руководства, возможно, вы захотите перезапустить программу после ее завершения, для этого вы можете использовать опцию -r
:
command="daemon -r /usr/local/sbin/traefik"
В качестве альтернативы может также дать попробовать руководителю.