【问题标题】:Where does Linux environemnt live?Linux环境在哪里?
【发布时间】:2016-03-18 06:31:31
【问题描述】:

我一直相信 环境变量 存在于当前用户登录的 shell 中。但是最近我开始研究自己的外壳,并更多地了解 Linux 是如何在底层工作的。现在在我看来,环境是独立于外壳的,并且在其他地方(在内核中?)处理。所以我的问题是它到底是如何工作的?系统的哪个部分负责维护环境?

例如,Bash 区分了export-ed 和未导出的变量,后者不被子shell 继承。这是否意味着系统中的每个进程都有自己的一组shell变量?

【问题讨论】:

  • 系统上的每个进程都有自己的环境,shell 本身就是进程。在 fork 进程时,内核会处理环境的继承,因为环境是进程的一部分。每个进程都可以随意修改自己的环境。

标签: linux shell environment-variables


【解决方案1】:

是的,每个进程都有自己的一组环境。

您可以在以下位置找到它们

cat /proc/<pid>/environ

【讨论】:

  • 太好了,谢谢。你能推荐任何网站或一些手册,我可以阅读更多关于这些事情的信息吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 2019-12-19
  • 1970-01-01
  • 2021-04-09
  • 2017-06-16
相关资源
最近更新 更多