1

Linux で fork をいじっていると、気に入らないものが表示されます

このリンクを読みましたフォーク後、グローバル変数は共有されますか? そして、gdbでテストを行いました


[c0m0@worktux programming]$ ps aux | grep env

c0m0 3108 0.0 0.0 4288 324 pts/1 S 22:53 0:00 ./env c0m0 3110 0.0 0.0 4288 80 pts/1 S 22:53 0:00 ./env

[c0m0@worktux programming]$ gdb -q -p 3108 Attaching to process 3108

(gdb) call getenv("toto") $1 = 4195989 (gdb) x/s $1 0x400695: "root"

次に、子プロセスにアタッチします

[c0m0@worktux programming]$ gdb -q -p 3110

Attaching to process 3110

(gdb) call getenv("toto")

$1 = 4195989

(gdb) x/s $1

0x400695: "root"

だから私の質問は何ですか、両方のプロセスでフォークに設定した変数が表示されるのはなぜですか?

set toto=root に関数 putenv を使用しました。より明確にしようとしています。

親から子プロセスに設定されていた環境変数を確認できますか?

4

0 に答える 0