我在 Ubuntu 上使用带有 calva 的 vs 代码。我的 clojure 应用程序侦听一个端口,我发现如果我退出 vs 代码,它会留下一个绑定到该端口的 java 进程,我必须找到并杀死该端口,然后才能重新开始。
是否有任何 calva 命令来停止 repl?,或者更好的是,当我退出 vs 代码时自动停止 repl 的方法?
我在 Ubuntu 上使用带有 calva 的 vs 代码。我的 clojure 应用程序侦听一个端口,我发现如果我退出 vs 代码,它会留下一个绑定到该端口的 java 进程,我必须找到并杀死该端口,然后才能重新开始。
是否有任何 calva 命令来停止 repl?,或者更好的是,当我退出 vs 代码时自动停止 repl 的方法?
从评论中我发现我真的问错了问题。我的印象是,repl 是启动它的 vs 代码进程“拥有的”,并且当你退出 vs 代码时不终止它是一个错误,但实际上我的理解是不正确的。
因此,为了解决我原来将进程绑定到端口的问题,有 3 个选项:
(System/exit 0)
您正确地期望该进程(如果由 Calva 启动)应该由 Calva/VS Code 拥有并且退出的 VS Code 应该杀死它。请将此报告为 Calva 上的错误:https ://github.com/BetterThanTomorrow/calva这适用于 MacOS(我也认为适用于 Windows),因此请从 VS Code 的帮助菜单中报告此问题,以便附加系统信息。
至于如何杀死REPL。您可以Ctrl+C
在启动进程的终端中按。我们也应该为它添加一个适当的命令,但那是另一天的事了。(我会说,当你断开 REPL 时它会被杀死也是一个错误。)