我知道工作目录(wd)的含义,尤其是在编写软件方面的用途。
然而,我不明白的是wd的所有权。此外,我想了解答案在不同操作系统之间可能会有所不同,因此如果能对特定操作系统上的异常行为进行说明将不胜感激。
首先,wd在哪里表现出来?它是否在进程内,由该进程创建的所有线程共享同一个wd?如果线程'A'修改了wd,线程'B'也由线程'A'的进程创建,那么是否立即可见?
其次,wd最初如何定义?如果从命令提示符启动某些内容,很容易看到它是如何定义的,但如果是生成多个进程的进程呢?
注:Process Explorer 在其“属性”窗口中显示每个进程的wd。
CreateProcess
会向进程的内存中添加一个RTL_USER_PROCESS_PARAMETERS
结构,其中包含UNICODE_STRING CurrentDirectoryPath
和HANDLE CurrentDirectoryHandle
。 - Polynomial