在Unix上,有没有办法让一个进程可以改变另一个进程的环境变量(假设它们都是由同一个用户运行)?一般的解决方案是最好的,但如果没有,那么一个人是另一个人的孩子的具体情况怎么样?
编辑:通过gdb怎么样?
以下不起作用
one.py
import shared
shared.value = 'Hello'
raw_input('A cheap way to keep process alive..')
Run Code Online (Sandbox Code Playgroud)
two.py
import shared
print shared.value
Run Code Online (Sandbox Code Playgroud)
在两个命令行上运行:
>>python one.py
>>python two.py
Run Code Online (Sandbox Code Playgroud)
(第二个得到属性错误,这是正确的).
有没有办法实现这一点,即在两个脚本之间共享一个变量?
如何从Python脚本持久修改Windows环境变量?(这是setup.py脚本)
我正在寻找一个标准功能或模块用于此目的.我已经熟悉了注册表的方式,但是对此也有任何意见.
我有一个项目涉及子目录与子makefile.我知道我可以使用export命令通过环境将变量从父makefile传递到子makefile.有没有办法将变量从子makefile传递给它的调用makefile?即可以反过来出口工作?我试过这个没有成功.我猜测一旦子make完成它的shell就会被破坏,同时它的环境变量也会被破坏.还有另一种向上传递变量的标准方法吗?
InitContainer 在同一个 Pod 中运行时是否可以更改应用程序容器的环境变量?
请注意,我正在寻找一个详细的答案,描述为什么这是可能的或不可能的技术原因。示例:“当前的容器技术支持容器和 Pod 之间的环境变量隔离,无法通过将容器“分组”在同一“环境变量空间”中来绕过该限制”。
我正在尝试从 Python 中修改父 shell 上的环境变量。到目前为止我尝试过的没有奏效:
~ $ export TESTING=test
~ $ echo $TESTING
test
~ $
~ $
~ $ python
Python 2.7.10 (default, Jun 1 2015, 18:05:38)
[GCC 4.9.2] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['TESTING']
'test'
>>> os.environ['TESTING'] = 'changed'
>>> os.environ['TESTING']
'changed'
>>> quit()
~ $
~ $
~ $ echo $TESTING
test
Run Code Online (Sandbox Code Playgroud)
这就是我所能想到的。可以做到吗?如何在 Python 中设置父 shell 的环境变量?
考虑以下 Ruby 代码
sleep 10
puts "Foo is #{ENV['foo']}"
Run Code Online (Sandbox Code Playgroud)
将此文件保存到 envtest.rb
从 shell 运行:
export foo=bar
ruby envtest.rb &
export foo=baz
( ... 10 seconds later ... )
=> Foo is bar
Run Code Online (Sandbox Code Playgroud)
似乎在启动 ruby 解释器时评估环境。是否可以在执行期间更新环境变量并将这些更改反映在正在运行的进程中?如果是这样,如何?