首页 > 解决方案 > 调用 exec() 时会复制什么?

问题描述

假设我们输入了wget命令。我的理解是shell调用fork()并创建了一个子进程。在调用之前的这个时刻exec(),子进程与父进程相同,除了进程ID之类的东西。

然后当被调用时,内核用'sexec()替换子进程的'图像。wget

但是环境变量没有被覆盖,所以我很困惑什么被替换,什么从父进程中保留。

标签: processoperating-systemforkexec

解决方案


以下是我为回答您的问题而做出的谦虚尝试。但是,恐怕答案可能太压倒性了。

exec() 对进程属性的影响

在此处输入图像描述

另外,请访问execve手册页。


推荐阅读