1

我在 Ubuntu 上使用带有 calva 的 vs 代码。我的 clojure 应用程序侦听一个端口,我发现如果我退出 vs 代码,它会留下一个绑定到该端口的 java 进程,我必须找到并杀死该端口,然后才能重新开始。

是否有任何 calva 命令来停止 repl?,或者更好的是,当我退出 vs 代码时自动停止 repl 的方法?

4

2 回答 2

0

从评论中我发现我真的问错了问题。我的印象是,repl 是启动它的 vs 代码进程“拥有的”,并且当你退出 vs 代码时不终止它是一个错误,但实际上我的理解是不正确的。

因此,为了解决我原来将进程绑定到端口的问题,有 3 个选项:

  1. 使用 clojure 终止 repl(System/exit 0)
  2. 重启vs代码后使用calva命令重新连接已有的repl
  3. 使用 calva 断开与 repl 的连接,然后您可以选择启动一个新的(它会自动杀死旧的)或稍后重新连接
于 2022-02-11T13:43:22.687 回答
0

您正确地期望该进程(如果由 Calva 启动)应该由 Calva/VS Code 拥有并且退出的 VS Code 应该杀死它。请将此报告为 Calva 上的错误:https ://github.com/BetterThanTomorrow/calva这适用于 MacOS(我也认为适用于 Windows),因此请从 VS Code 的帮助菜单中报告此问题,以便附加系统信息。

至于如何杀死REPL。您可以Ctrl+C在启动进程的终端中按。我们也应该为它添加一个适当的命令,但那是另一天的事了。(我会说,当你断开 REPL 时它会被杀死也是一个错误。)

于 2022-02-11T16:18:36.840 回答