Git Bash出现Could not fork child process: Permission denied (-1)错误求助
解决Git Bash "Could not fork child process: Permission denied (-1)" 错误
我之前在域环境的企业笔记本上也碰到过一模一样的问题——同样是用Chocolatey装的git,之前一直正常,突然就弹出这个权限报错。结合自己和同事的排查经验,分享几个亲测有效的解决办法:
方法1:调整Git Bash快捷方式的运行权限
- 找到Git Bash的快捷方式(开始菜单或桌面都能找到),右键选「属性」
- 切到「快捷方式」标签,点击「高级」按钮
- 取消勾选「以管理员身份运行此程序」,保存设置后重启Git Bash
很多时候域策略会强制程序以管理员权限启动,反而导致bash进程创建时的权限冲突,取消这个选项大概率能解决问题
方法2:修改Git的bash启动配置参数
- 找到Git的安装目录(Chocolatey默认路径一般是
C:\ProgramData\chocolatey\lib\git\tools\git,也可能是C:\Program Files\Git) - 打开
etc\bash.bashrc文件(用记事本或VS Code都行) - 在文件末尾添加一行:
export MSYS=disable_privileged_process - 保存后重启Git Bash,这个参数会禁用MSYS的特权进程模式,避开域环境的权限限制
方法3:重置Git安装目录的权限
- 打开普通命令提示符(CMD,不用管理员权限),运行以下两条命令:
takeown /f "C:\ProgramData\chocolatey\lib\git" /r /d y icacls "C:\ProgramData\chocolatey\lib\git" /grant "%USERNAME%":F /t - 这两条命令会把Git安装目录的所有权和完全控制权给到当前用户,解决域环境下权限继承导致的访问限制
- 执行完重启Git Bash测试
方法4:临时用便携版Git应急
如果上面的方法都没效果,可以先换便携版Git救急:
- 下载Git的便携版(PortableGit)
- 解压到非系统盘(比如
D:\PortableGit),直接运行解压目录里的git-bash.exe - 便携版不受Chocolatey和部分域策略限制,基本能正常启动使用
这些方法我和同事在域环境里测试过,大部分情况都能解决这个权限问题。如果还是不行,可能是域里最近更新了组策略限制bash进程创建,但IT暂时处理不了的话,上面的方案应该能帮你先恢复Git Bash的使用。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

