当前工作目录是/ mnt / c的子目录时,为什么.exes无法在Windows子系统的Linux的/ tmp中看到文件?

问题描述

当当前工作目录为/mnt/c或其子目录时,当我从WSL运行.exe文件时,似乎无法看到/tmp中的文件。例如,cd /mnt/c; notepad.exe $(mktemp)会引发“系统找不到指定的文件”,即使非exe可执行文件也可以正常工作,例如cat $(mktemp)。请注意,mktemp本身可以正常工作,给出正确的输出并实际创建文件

有趣的是,我注意到当当前工作目录为/等时,不会发生这种情况。在那里,notepad.exe $(mktemp)工作正常。但是,当当前工作目录为/mnt/c或其子目录时,会发生这种奇怪的行为。

当当前工作目录位于/tmp外部而不是内部时,为什么WSL中的exe程序可以看到/mnt/c?是什么原因导致这种情况发生?

如果有关系,我使用的是WSL1 Ubuntu 18.04 LTS。

运行ps awx的{​​{1}}的输出

notepad.exe $(mktemp)

进程3227的安装信息为

    1 ?        Ssl    0:58 /init
    5 tty1     Ss     0:00 /init
    6 tty1     S      0:09 -bash
 3227 tty1     S      0:00 /init /mnt/c/Windows/system32/notepad.exe /tmp/tmp.KQwVgByK8u
 3228 tty2     Ss     0:00 /init
 3229 tty2     S      0:00 -bash
 3255 tty2     R      0:00 ps awx

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)