子进程访问父进程的内存

子进程访问父进程的内存

假设我使用 bash 登录并定义了一个别名。

$ alias c=clear
$ echo $0
bash

现在我输入破折号。

$ dash
$ echo $0
dash

bash 中定义的别名不可用:

$ alias
$ 

我如何访问它?更一般地说,如何从子进程访问内存中的内容?


更准确地说,“访问”的意思是能够获得与alias在父进程中运行时获得的相同数据。

答案1

更一般地说,你从另一个进程访问数据。可以设置共享内存部分,顾名思义,这些部分在多个进程之间共享。我不相信这些可以从 bash 或 dash 等任何 shell 中获得。但普通内存不能被其他进程访问。这是出于安全考虑而故意这样做的。

但是,您可以设置环境变量,子进程在创建时将继承这些变量。在 bash 中,你export可以使用一个变量来执行此操作:

x=foo
export x

dash
echo $x

相关内容