0

我们已经开始通过创建 /etc/init.d/[appname] 脚本并使用以下内容执行它来将我们的 EC2 应用程序作为服务运行:

服务 [appname] 开始|停止|重新启动

但是,这样做时,我们的应用程序无法访问环境变量。一个进程如何作为服务访问环境变量启动?或者,相反,我们如何设置环境变量以便它们可以被作为服务运行的进程访问?具体来说,我们依靠这些变量来了解我们在什么环境中运行......这很高兴知道......

4

1 回答 1

1

程序可以使用environ变量或更通常的getenv(3)库函数来访问其环境变量。

您可以使用/proc文件系统查询某些进程 1234 的环境,特别是通过/proc/1234/environ(请注意条目以空结尾,因此请阅读手册页)。

其中的启动脚本/etc/init.d/通常是 shell 脚本,因此您可以在这些脚本export FOO=var中设置环境变量。(您需要将该行添加到脚本本身中,或者添加到从该初始化脚本执行该操作的文件中)。FOOvarexportsource

另请参阅此问题

于 2013-02-14T23:05:01.037 回答