Die Datei rc.subr ${name}_env
gibt 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 -E
Flag ist es nun möglich, die Umgebungsvariablen festzulegen, wenn ein Daemon mit dem service
Befehl 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:
- Das Commit, das das
-E
Flag einführt:https://cgit.freebsd.org/src/commit/usr.sbin/service/service.sh?id=194e059bb80334e6f4f791a186015b20d7f6f4b8