我最近在我的计算机上重新安装了Cygwin,以便访问我缺少的几个命令行元素。我以前从未遇到过Cygwin的困难,但在重新安装之后,在(几乎)每个命令输入之后会继续出现错误消息。例如:
-bash-4.1$ wc m1.txt
3 [main] bash 2216 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x38D000)
-bash: fork: retry: Resource temporarily unavailable
2013930 4027950 74968256 m1.txt
通常,命令仍然运行(如上所示),但并非总是如此。偶尔会出现“错误”消息连续几次(初始数字“3”将变为“4”或“2”,特别是如果我启动第二个Cygwin窗口。
另外,一旦我启动Cygwin,我会在提示之前收到以下消息:
3 [main] bash 6140 child_info_fork::abort: data segment start: parent(0x26D000) != child(0x36D000)
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$
目前,我正在讨论是否要再次卸载/重新安装Cygwin,或者只是接收错误消息,但我很好奇是否存在我不知道的问题。
答案 0 :(得分:114)
(假设Cygwin安装在C:\ Cygwin):
$
/usr/bin/rebaseall -v
,按Enter键,然后等待该过程完成。
cd /usr/bin && ./rebaseall -v
。这个过程对我有用。我希望它也适合你们。
答案 1 :(得分:13)
我想在上面的答案中添加以下内容,因为这是重新安装Cygwin后我必须做的事情:
导航到“/ usr / bin”目录(通常是C:\ cygwin \ bin)并右键单击“以管理员身份运行”文件:dash.exe 然后,在$提示符下键入以下内容,在每行之后按Enter键:
cd /usr/bin/
/usr/bin/peflags * -d 1
/usr/bin/rebaseall -v
它的作用是,它将dll标记为“可以反射”,然后重新定义它们。除了上述文件之外,您还必须拥有peflags.exe(在之前的答案中)。执行此操作后,您可能必须重新启动Windows,并且您肯定需要确保没有属于cygwin运行的进程或服务。 (使用任务管理器,终止任何相关进程,然后在服务选项卡下查找以CYG开头的任何服务并停止它。)
执行此操作后,我能够运行cygwin而没有任何关于dll被加载到错误地址(即fork错误等)的错误。
我希望这有助于其他人,因为这很难找到。
SOURCE: http://www.cygwin.com/faq.html#faq.using.fixing-fork-failures
and the rebase README file.
答案 2 :(得分:5)
要在此处添加其他答案,我们遇到了同样的问题,但无法从ash或dash shell运行rebase命令。但是,从Windows cmd shell启动命令时,以下操作。
cmd /c "C:\cygwin64\bin\ash.exe /usr/rebaseall -v"
-v是获得详细输出
答案 3 :(得分:3)
我在这里找到了另一个信息: http://cygwin.com/ml/cygwin/2014-02/msg00531.html 您必须删除数据库 /etc/rebase.db*并在“灰”窗口中执行: peflags * -d 1 rebaseall 它适用于2台服务器。
答案 4 :(得分:2)
我通过重新启动计算机解决了这个问题。可能安装了驱动程序更新并继续使用睡眠而不是关闭。
答案 5 :(得分:1)
在使用cygiconv-2.dll forking加载Cygwin并且未在Cygwin终端中成功加载时经历了同样的问题,但在关闭我的AntiVirus(它特别是Ad-aware)之后,问题得到解决,并且Cygwin正常工作。
答案 6 :(得分:1)
如果你使用babun的Cygwin,在rebaseall之后,尝试在Windows命令提示符或Windows资源管理器中执行.babun \ cygwin \ cygwin.bat启动Cygwin。
这适用于我(在启动babun的默认控制台时 - 在fork错误中导致了muty)。
答案 7 :(得分:0)
我在win10上遇到了错误,我试图在安装之前重新调整为c:。 然后我看到安装程序正在安装它而不是c:/ Users / myuser 所以我正在处理从c:/ Users / myuser到c:.badun的所有文件 然后重启并打开badun.bat
如果这是明智的,那么现在重复的XD是不可取的...但是它再次起作用。
答案 8 :(得分:0)
+=
对我的情况没有帮助。除了其他人的建议之外,我注意到减少Rebase
环境变量的长度对我(以及其他人也可以从this答案中看到)解决了这个问题。
答案 9 :(得分:0)
此问题本质上是断断续续的,当网络太慢而无法连接到AWS上的远程计算机时,我发现了此问题。...我有通过Gitbash Shell运行的Shell脚本,并且它通过ssh连接到AWS EC2实例.....在大多数情况下,它可以正常运行,但有100次出现此问题的2倍 bash:fork:重试:资源暂时不可用 .....从任务管理器中杀死MSYS2终端有助于克服这个问题。 不利的一面是您需要从头开始运行脚本...
答案 10 :(得分:0)
我在Windows 10和mobaxterm应用程序(使用cygwin)上遇到了相同的问题,我尝试了此处列出的所有答案,但是对我来说,解决方案是简单地删除“ CryptoPro CSP”应用。
答案 11 :(得分:-1)
升级到Windows 10后,我开始面临这个问题。到目前为止,我没有看到上述任何方法都有效
我注意到的是,如果您使用管理员权限启动cygwin(右键单击并说出#34;以管理员身份运行")那么它可以正常工作。
或者你以管理员身份打开cmd,然后从那里启动cygwin,然后运行正常。
答案 12 :(得分:-3)
只需重新安装cygwin并选择TCL并激活EXPECT