1

除了通过执行 ctrl z 并再次运行它来关闭它之外,我如何重新启动 grails 应用程序。

当我这样做时,它会说

Error Server failed to start for port 8080: Address already in use
4

4 回答 4

7

CTRL-Z不关闭应用程序,向进程发送 SIGTSTP 信号以暂停它...暂停的进程仍然与其资源(端口、文件等)有连接,因此您不能在同一端口上运行另一个 grails 实例而其中一个被暂停。

要将其带回前台,您可以fg在同一个 shell 中输入(或者如果您希望它在后台运行,您可以使用bg

要关闭它,你需要CTRL- C(或者你可以像 nickdos 在评论中所说的那样杀死它)

于 2012-07-12T08:04:18.410 回答
5

要彻底关闭run-appor ,请在您的 grails 应用程序的顶级目录中run-war创建一个名为的空文件(即在、等旁边)。一旦应用程序停止,Grails 将自动删除该文件,因此当它在您创建它后不久消失时不要感到惊讶。.kill-run-appgrails-appsrc

于 2012-07-12T11:19:39.923 回答
3

关机不需要进程黑客,也不需要“可能毁掉一切”的免责声明:)

赶紧跑:

grails stop-app

于 2014-03-26T21:58:39.697 回答
2

如果这仍然不起作用:

lsof -i :8080或者ps aux | grep grails

将显示进程 ID,然后首先尝试很好地杀死它:

kill 12345(其中 12345 是 processId)

如果它真的不想玩得很好,那么它:

kill -9 12345(其中 12345 是 processId)

每次都有效(免责声明:可能会毁掉一切)

于 2013-02-21T20:50:31.150 回答