Wie übergebe ich Umgebungsvariablen mit dem FreeBSD-Servicebefehl?

Wie übergebe ich Umgebungsvariablen mit dem FreeBSD-Servicebefehl?

Die Datei rc.subr ${name}_envgibt Folgendes zum Festlegen der Umgebungsvariable an:

${name}_env   A list of environment variables to run command
              with.  This will be passed as arguments to
              env(1) utility.

Also habe ich versucht, es wie diese Methoden über meine rc.conf für meinen Daemon namens zu verwenden /etc/rc.d/mydaemon.

In /etc/rc.conf:

mydaemon_env="MYD_ROOT"

Beim Starten tritt ein Fehler auf:

# root @ rahul in /etc/rc.d [10:52:49]
$ service mydaemon onestart
Starting mydaemon.
env: MYD_ROOT: No such file or directory
/etc/rc.d/mydaemon: WARNING: failed to start mydaemon

Kann mir jemand helfen, was ich übersehe?

Antwort1

Es sollte im Format vorliegen NAME=VALUE.

mydaemon_env="MYD_ROOT=value"

Antwort2

Dem Befehl wurde kürzlich ein neues Flag hinzugefügt service. Mit dem -EFlag ist es nun möglich, die Umgebungsvariablen festzulegen, wenn ein Daemon mit dem serviceBefehl gestartet wird. Das neue Flag wird in FreeBSD 14.0 und höher verfügbar sein. Stand 04.09.2023 wurde es nicht wieder in ältere stabile Zweige integriert.

Einige Referenzen:

verwandte Informationen