c - 进程是从其父进程继承其环境变量还是从 Windows 获取它们?

标签 c winapi environment-variables

Windows 中的每个进程都有自己的环境变量。但我不确定进程如何获取其环境变量,它是否从 Windows 提供的“全局环境变量”中获取它们,我的意思是那些环境变量:

enter image description here

或者它是否从其父进程继承它们(并且只有第一个父进程从 Windows 获取其环境变量)?

最佳答案

Environment Variables (Windows) 中所述,子进程从其父进程继承所有环境变量。此外,父进程可以使用 CreateProcess创建一个子进程并将一组新的环境变量传递给它。

除此之外,由命令处理器 (CMD) 启动的程序会继承 CMD 环境变量,这些变量也列在您问题所附的屏幕截图中。

关于c - 进程是从其父进程继承其环境变量还是从 Windows 获取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37801006/

相关文章:

c - Microchip XC32 编译器,malloc 调用返回 0,写入指针抛出未实现的 RAM

c# - WMI ConnectServer 到 ROOT\CIMV2 为 C++ 应用程序返回 'Access Denied' 但对于 C# 应用程序工作正常

c++ - NtDeviceIoControlFile(查询 IP 地址条目)- STATUS_INVALID_DEVICE_REQUEST

apache-spark - 设置 PYSPARK_SUBMIT_ARGS 会导致创建 SparkContext 失败

node.js - 运行 Node 可执行文件后导出 NODE_PATH

c++ - 如何初始化一个指向结构体指针数组的变量?

c - 模拟中的 stub 函数

c - HID 报告在更改长度时不起作用

c++ - 从 HGDIOBJ 到 HBRUSH 的转换

c++ - 从 C++ 更新系统环境变量