|
|
1
21
任何进程都不能更改其父进程(或任何其他现有进程的环境)。 但是,您可以通过使用修改后的环境创建新的交互式shell来创建新的环境。 您必须生成一个新的shell副本,该副本使用升级的环境,可以访问现有的stdin、stdout和stderr,并进行重新初始化。
您需要执行类似于使用subprocess的操作。Popen奔跑
因此,原始shell运行Python,Python运行一个新的shell。是的,你有很多进程在运行。不,这还不算太糟糕,因为原始的shell和Python除了等待子shell完成外,并没有真正做任何事情,这样它们也可以干净地退出。 |
|
|
2
13
对于任何子进程,都不可能更改父进程的环境。您能做的最好的事情是将shell语句输出到stdout,然后进行源代码生成,或者将其写入父级中的源文件。 |
|
|
3
12
我会使用bash-eval语句,让python脚本输出shell代码 child.py:
parent.sh
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
|
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 1 年前 |
|
|
Marco · PyCharm Linux系统文件上os.stat异常 1 年前 |