在Git Bash中通过gradle bootRun的方式运行Spring Boot程序,使用CTRL+C无法中断运行的程序,重启计算机才能重新运行Spring Boot程序。
忍了很久,最近查了查,发现是Msys2使用的MinTTY终端无法争取地将CTRL+C传递给应用导致的。
CTRL-C doesn’t interrupt the running process #684
CTRL-C doesn’t stop running app in Windows #773
Re: Ctrl-C and non-cygwin programs
Unable to use CTRL-C, ’n’ and ‘q’ keyboard commands in Cygwin and Msys2 shells #112
Ctrl+C no longer kills running process in Git Bash
在最后一个帖子中查找到适用于我使用场景的workaround:
- 通过文件浏览器在Git目录中删除usr\bin\mintty.exe文件
- 重新运行Git Bash(或在文件浏览器中直接双击git-bash.exe)
# 删除mintty前
$ echo $TERM
xterm
# 删除mintty后
$ echo $TERM
cygwin