Cygwin:在不同位置加载的 readline lib

Phi*_*ayo 5 bash cygwin

在 cygwin 中,我输入的几乎每个 unix 命令都会打印一条警告消息,需要时间并最终给出正确的结果:

-bash-4.1$ ls
0 [main] bash 7468 child_info_fork::abort: cygreadline7.dll: Loaded to different address:
parent(0x320000) != child(0x3B0000)
-bash: fork: retry: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

这个警告是什么意思?

Gil*_*il' 3

Windows 在每个进程的相同地址加载每个动态库。fork当父进程和子进程中存在不同版本的 DLL 时(即,当您在父进程启动时间和子进程启动时间之间升级 DLL 时),这会与 Cygwin 的模拟产生不良交互。升级库后重新启动所有 Cygwin 进程。