子プロセスは親プロセスのメモリにアクセスします。

子プロセスは親プロセスのメモリにアクセスします。

bashを使ってログインし、エイリアスを定義するとしましょう。

$ alias c=clear
$ echo $0
bash

ダッシュを入力します。

$ dash
$ echo $0
dash

Bashで定義されたエイリアスは使用できません。

$ alias
$ 

どうやってアクセスしますか?より一般的には、子プロセスのメモリ内容にどのようにアクセスしますか?


aliasより正確には、「アクセス」とは、親プロセスで実行しているときに得られるのと同じデータを取得できることを意味します。

ベストアンサー1

より一般的には、いいえ他のプロセスのデータにアクセスします。名前が示すように、複数のプロセス間で共有される共有メモリセクションを設定できます。私はこれがbashやdashのようなシェルで利用可能であるとは信じていません。ただし、通常のメモリは他のプロセスからアクセスできません。これはセキュリティ上の理由から意図的に行われます。

ただし、環境変数を設定でき、子プロセスは作成時にこれらの変数を継承します。 Bashでは、export変数を使用してこれを実行できます。

x=foo
export x

dash
echo $x

おすすめ記事