如何使用 FreeBSD 服務命令傳遞環境變數?

如何使用 FreeBSD 服務命令傳遞環境變數?

rc.subr${name}_env指定此設定環境變數:

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

所以我嘗試像這些方法一樣使用它,透過我的守護程式名為 的 rc.conf /etc/rc.d/mydaemon

/etc/rc.conf

mydaemon_env="MYD_ROOT"

這在啟動時出現錯誤:

# 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

有人可以幫我解決我所缺少的嗎?

答案1

它應該是格式NAME=VALUE

mydaemon_env="MYD_ROOT=value"

答案2

該命令最近添加了一個新標誌service。使用該-E標誌,現在可以在使用命令啟動守護程序時設定環境變數service。新標誌將在 FreeBSD 14.0 及更高版本中提供。截至 2023 年 9 月 4 日,它尚未合併回較舊的穩定分支。

一些參考:

相關內容