我创建了一个在Linux上作为守护进程运行的服务(并从/etc/init.d/X启动)。 我需要设置一些环境变量,以便应用程序可以访问这些变量。
这是场景。 应用程序是一堆Perl AGI脚本,依赖于(并且需要作为)asterisk用户运行,但是asterisk没有shell。 理想情况下,我只需在/home/asterisk/.bashrc中设置即可,但是对于asterisk来说这个文件不存在。
如何在asterisk用户的运行环境中为我的应用程序设置环境变量,以便我的应用程序可以使用它们?
start-stop-daemon
源代码,只有一个地方涉及环境变量,用于重置HOME
。你能发布一下init.d
脚本吗? - Fred Foostart-stop-daemon
程序从init.d
脚本获取其环境;然后它在内部切换用户,短暂地以asterisk
用户身份运行并保留其环境;然后启动您的守护程序。您必须显式使用env
命令来清除环境。 - Fred Foo