在Linux中为所有进程设置环境变量

拜文

我在服务器上使用Ubuntu 9.1(Karmic Koala)。

设置环境变量,使它们在所有进程中都可以全局访问的一个简单问题使我抓狂,希望对您有所帮助!

我尝试通过在几个不同的“通常可疑”位置(例如.bashrc,.bashrc,.profile)中使用export命令来设置它们。这些对外壳程序本身和从外壳程序中派生的进程很有用,但不适用于在外壳程序之外启动的进程(例如,守护程序在启动时启动,或者令我特别烦恼的是Capistrano启动的Mongrel似乎没有设置这些变量因此Ruby无法访问它们)。

我还尝试了一些疯狂的想法,例如在shell脚本中设置它们,并在启动时(通过update-rc.d方法)调用该脚本无济于事。

在Windows中,只需定义一个“系统变量”即可在OS中的所有进程中使用。在Linux中如何做到这一点?专门基于Debian的OS?

dmckee ---前主持人小猫

进程(包括外壳)仅从其父级继承变量。此后无法从外部更改它们。

尽可能在启动时(对于系统进程)或Shell调用(对于用户进程)尽早设置“全局变量”,或者辞职以在多个位置进行设置。

这看起来似乎很痛苦,但是更改另一个流程环境的能力将是一个错误,并会引入各种令人讨厌的竞争条件。


您要做什么才能获得“全局”环境变量?可能有解决您的问题的方法。

解决方法::以您最喜欢的shell格式编写一个最小的脚本,该脚本设置所需的变量并将其放置在全局可访问的位置:

/etc/loglocaltion.sh

export MY_LOG_DIR=/opt/share/mylog
export MY_DEFAULT_LOG_LEVEL=URGENT

对于要使用该配置的所有内容,请执行以下一项操作

  1. source非交互式登录文件(在shell的所有实例中都读取了该文件)中具有loglocation.sh的shell中启动它.bash_profile
  2. loglocation.sh在启动实际程序之前,编写一个最小的包装脚本,该脚本可以提供资源launchcorelogger.sh
 CORELOGGER=/opt/sbin/mycorelogger
 source /etc/loglocation.sh
 exec $CORELOGGER

init运行了脚本。

现在,如果您是在第一种情况下从全新的Shell中运行它们,或者使用dameon restart(/etc/init.d/mycorelogger restart或其他方式)重新启动它们,则对loglocation脚本的编辑将影响所有相关处理

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为 PyCharm 中的所有配置设置相同的环境变量

来自分类Dev

是否可以在Jenkins的文件夹中为所有项目设置一些环境变量?

来自分类Dev

在Linux上的/ usr / bin / env中设置环境变量会挂起进程

来自分类Dev

您可以设置每个进程在Linux中执行一次的环境变量吗?

来自分类Dev

在Linux上的/ usr / bin / env中设置环境变量会挂起进程

来自分类Dev

如何删除从父进程继承的所有环境变量?

来自分类Dev

如何删除从父进程继承的所有环境变量?

来自分类Dev

为什么将所有环境变量都加载到进程的堆栈中?

来自分类Dev

将此宏设置为构建环境中的环境变量?

来自分类Dev

在 CircleCI 中为不同环境设置环境变量

来自分类Dev

为所有启动器在Eclipse工作区级别设置环境变量吗?

来自分类Dev

为所有用户设置持久性环境变量

来自分类Dev

为所有启动脚本和inittab设置环境变量(TZ)

来自分类Dev

为在systemd下运行的所有服务设置环境变量

来自分类Dev

设置Linux环境变量

来自分类Dev

在Linux上可以设置环境变量的所有地方都在哪里?

来自分类Dev

在Linux上可以设置环境变量的所有地方都在哪里?

来自分类Dev

如何为所有类型的OS设置环境变量?

来自分类Dev

为现有屏幕会话设置多个环境变量

来自分类Dev

对于从devise.rb中的环境变量读取的所有配置,设置均返回nil

来自分类Dev

如何在Debian中为所有(nologin和login shell)用户添加环境变量

来自分类Dev

在Heroku中为flask应用设置环境变量

来自分类Dev

如何在Rhino中为runComment()设置环境变量?

来自分类Dev

无法在ApplicationLoadBalancedFargateService中为容器设置环境变量

来自分类Dev

在Ubuntu 14.04中为OpenFOAM设置环境变量

来自分类Dev

在Linux中通过管道设置和使用环境变量

来自分类Dev

在Linux中通过管道设置和使用环境变量

来自分类Dev

列出Matlab中的所有环境变量

来自分类Dev

在zsh中如何列出所有环境变量?

Related 相关文章

  1. 1

    为 PyCharm 中的所有配置设置相同的环境变量

  2. 2

    是否可以在Jenkins的文件夹中为所有项目设置一些环境变量?

  3. 3

    在Linux上的/ usr / bin / env中设置环境变量会挂起进程

  4. 4

    您可以设置每个进程在Linux中执行一次的环境变量吗?

  5. 5

    在Linux上的/ usr / bin / env中设置环境变量会挂起进程

  6. 6

    如何删除从父进程继承的所有环境变量?

  7. 7

    如何删除从父进程继承的所有环境变量?

  8. 8

    为什么将所有环境变量都加载到进程的堆栈中?

  9. 9

    将此宏设置为构建环境中的环境变量?

  10. 10

    在 CircleCI 中为不同环境设置环境变量

  11. 11

    为所有启动器在Eclipse工作区级别设置环境变量吗?

  12. 12

    为所有用户设置持久性环境变量

  13. 13

    为所有启动脚本和inittab设置环境变量(TZ)

  14. 14

    为在systemd下运行的所有服务设置环境变量

  15. 15

    设置Linux环境变量

  16. 16

    在Linux上可以设置环境变量的所有地方都在哪里?

  17. 17

    在Linux上可以设置环境变量的所有地方都在哪里?

  18. 18

    如何为所有类型的OS设置环境变量?

  19. 19

    为现有屏幕会话设置多个环境变量

  20. 20

    对于从devise.rb中的环境变量读取的所有配置,设置均返回nil

  21. 21

    如何在Debian中为所有(nologin和login shell)用户添加环境变量

  22. 22

    在Heroku中为flask应用设置环境变量

  23. 23

    如何在Rhino中为runComment()设置环境变量?

  24. 24

    无法在ApplicationLoadBalancedFargateService中为容器设置环境变量

  25. 25

    在Ubuntu 14.04中为OpenFOAM设置环境变量

  26. 26

    在Linux中通过管道设置和使用环境变量

  27. 27

    在Linux中通过管道设置和使用环境变量

  28. 28

    列出Matlab中的所有环境变量

  29. 29

    在zsh中如何列出所有环境变量?

热门标签

归档