如何解决按下Ctrl+D关闭WSL2时出现错误代码130的问题
问题:按下Ctrl+D需两次操作才能关闭终端
按下Ctrl+D时,终端会输出以下内容:
[process exited with code 130 (0x00000082)] You can now close this terminal with Ctrl+D, or press Enter to restart
必须再次按下Ctrl+D才能关闭终端,期望首次按下Ctrl+D就能直接关闭。
环境信息
- 系统:Windows 11 Enterprise
- 版本:10.0.22631 Build 22631
已尝试无效方案
已尝试过多个针对该问题的公开解决方案,但均已过时或无法生效。
可行解决方案
1. 修改Windows Terminal退出行为
打开Windows Terminal设置(快捷键:Ctrl+,),找到对应的WSL配置文件,在「高级」选项卡中,将「当进程退出时」的选项设置为「关闭窗口」,替代默认的「保持打开」。
2. 调整WSL Shell的退出逻辑
在WSL默认shell的配置文件中添加陷阱指令屏蔽130退出码:
- 若使用bash,编辑
~/.bashrc,添加:trap '' 130 - 若使用zsh,编辑
~/.zshrc,添加上述相同指令。
保存后执行source ~/.bashrc或source ~/.zshrc使配置生效。
3. 更新WSL与Windows Terminal至最新版本
打开PowerShell执行以下命令更新WSL:
wsl --update
同时在Microsoft Store中搜索「Windows Terminal」并更新至最新版本,旧版本的相关兼容性bug已在新版本中修复。
内容的提问来源于stack exchange,提问作者Koroslak
相关产品推荐
相关产品推荐

