1

在 2.3 版之前,在控制台窗口中使用“ run-app ”(开发模式)启动的 Grails 应用程序可以使用Ctrl-C终止。它不再适用于 Grails 2.3,只是忽略了击键。有“ stop-app ”命令,但它也不会终止正在运行的应用程序。

我可以通过终止控制台窗口来终止应用程序,但我不想这样做,因为在这种情况下,我会丢失打印到该控制台的所有调试输出。

4

2 回答 2

1

通过从 Grails 2.3.4升级到2.3.7解决了我的问题。在 Grails 2.3.7 Ctrl-C中,“ run-app ”和“ stop-app ”的行为与文档中的一样。我认为这个案子已经结案。

(我不确定这是否有资格作为答案,但我觉得这个问题值得某种形式的封闭......)

于 2014-03-24T21:46:41.197 回答
0

来自http://grails.org/doc/2.3.x/guide/commandLine.html#forkedMode “从 Grails 2.3 开始,run-app、run-war、test-app 和控制台命令现在在分叉的 JVM 中执行为了将构建类路径与运行时类路径隔离开来。”

您会注意到,如果使用这些默认设置,则会创建两个 java.exe 进程,而 CTRL-C 只会杀死其中一个。

我自己注意到了这一点。只需在 BuildConfig.groovy 中注释掉以下行

run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256],

于 2014-02-07T19:22:40.640 回答