cygwin update cause"错误:无法fork子进程:资源暂时不可用."

Cha*_*bel 14 windows bash cygwin

我在Windows 7上使用setup-x86_64.exe工具(版本2.873)更新了我的cygwin .我需要安装一些额外的软件包(主要是zip/unzip等).

从那时起,当我尝试运行Cygwin终端时,我遇到以下错误(快捷方式指向C:\ cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico - ):

Error: could not fork child process: Resource temporarily unavailable.  
DLL rebasing may be required. See 'rebaseall / rebase --help'.
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了如何运行他们在邮件中建议的rebaseall命令.基本上建议是启动cygwin/bin/dash.exe并运行:
bin/rebaseall 我做了几次,我也使用了-v注释,没有错误回来.我仍然无法启动cygwin.

我也尝试过运行cygwin-x/XWin-server没有任何反应.

我查看了安装日志,cygwin/var/log/setup.log看不到任何错误.

我尝试再运行一些安装程序,重新安装我已经拥有的一些软件包,但这些软件包都没有帮助.任何想法我怎么能让它工作?

Gab*_*cea 7

这是修复。

  1. 转到您的 Windows Defender 安全中心设置
  2. 单击应用程序和浏览器控制
  3. 在底部单击“漏洞利用保护设置”链接
  4. 转到“程序设置”并单击“添加要自定义的程序”->“选择确切的文件路径”
  5. 导航到“C:\Program Files\Git\usr\bin\sh.exe”并添加它
  6. 覆盖并关闭以下内容:强制 ASLR、随机内存分配(自下而上 ASLR)
  7. 单击“应用”,现在一切正常。

还要从同一文件夹中添加这些其他二进制文件:expr.exe、uname.exe、grep.exe、rm.exe

祝你好运,
加布里埃尔

  • 我的 Win10 上没有这个应用 (2认同)
  • [Cygwin 和 ASLR 之间的不兼容性](https://cygwin.com/ml/cygwin/2013-06/msg00096.html) 是我的问题。如果我理解正确的话,这个解决方案使系统容易受到缓冲区溢出攻击,至少在 Cygwin 内(如果不是更普遍的话)。 (2认同)

Sve*_*sen 5

openening从SourceTree(MINGW32)终端时,并尝试时也得到了错误,我的一个同事也有类似的错误pull,rebase等(没有任何地方).他通过卸载Sourcetree解决了这个问题,使用CCleaner来清理他的注册表(不确定是否需要),重新启动并再次安装Sourcetree.

我知道这与OP描述的问题略有不同,但它仍然可以通过取消/重新安装和清理注册表来解决,这也可能有助于未来人们使用Sourcetree问题找到这个问题(就像我做的那样) .

编辑: 另一位同事也有这个问题,他设法修复它只是重启而没有任何取消/重新安装或使用CCleaner.

  • 无论是否运行ccleaner来清理注册表都没有用.但卸载后,再次运行清理,重新启动和运行ccleaner,然后重新安装,它确实有效.所以我再次不知道ccleaner是否必要,但卸载后重新启动了. (3认同)
  • **编辑**为我工作:只需重新启动我的电脑修复它 (2认同)

mat*_*eri 0

有一个变基实用程序可以在设置后阶段触发变基。

从破折号或bash:

/usr/bin/rebase-trigger full
Run Code Online (Sandbox Code Playgroud)

关闭所有进程并再次运行setup-x86_64.exe。