gpt4 book ai didi

linux - 如何从在 centos 中作为服务运行的进程访问环境变量?

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:41 24 4
gpt4 key购买 nike

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

服务 [appname] 启动|停止|重启

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

最佳答案

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

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

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

另见 this question .

关于linux - 如何从在 centos 中作为服务运行的进程访问环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14884527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com