Как запустить 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"

В качестве альтернативы может также дать попробовать руководителю.

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