有人可以向我解释为什么会这样。假设我有一个简单的java程序,它会永远循环,直到我终止进程。
如果我制作这样的shell脚本。
#!/bin/bash
# clears the terminal
clear
# runs the java executable
java -jar java_program.jar
# prevents the terminal from closing
$SHELL
shell脚本运行程序,如果我使用热键CTRL + C,它会完全按照我想要的方式结束java进程。但是当我在右上角使用“X”时,java进程并没有结束。为什么这样做我如何解决这个问题呢?
我知道java进程没有结束,因为如果我查看任务管理器,进程仍在运行。
我使用的是Windows 10。
答案 0 :(得分:0)
我没有安装 git bash,但是您感知到的行为来自围绕 git bash 使用的终端模拟器。它不是 Windows 本机终端模拟器(并运行 cmd),也不是 cygwin 终端模拟器。
既然你已经安装了它,找出模拟终端的软件,看看当你关闭终端窗口时它是如何处理进程的。也许它是可配置的。