如何重新启动grails应用程序,而不是通过执行ctrl z并再次运行它来关闭它。
当我这样做时,它说
Error Server failed to start for port 8080: Address already in use
答案 0 :(得分:7)
CTRL - Z 不关闭应用程序,发送SIGTSTP signal to the process暂停它...暂停的进程仍然与其资源有连接(端口,文件等),所以你不能在同一个端口上运行另一个grails实例而其中一个被挂起。
要将其恢复to the foreground,您可以在同一个shell中输入fg
(如果您想要run in the background,则可以使用bg
)
要关闭它,你需要 CTRL - C (或者你可以像评论中的nickdos那样杀掉它)
答案 1 :(得分:5)
要彻底关闭run-app
或run-war
,请在Grails应用程序的顶级目录中创建一个名为.kill-run-app
的空文件(即grails-app
旁边,{ {1}}等)。一旦应用程序停止,Grails将自动删除此文件,因此在创建应用程序后不久就会消失,不要感到惊讶。
答案 2 :(得分:2)
如果仍然无效:
lsof -i :8080
或ps aux | grep grails
将显示进程ID,然后首先尝试很好地杀死它:
kill 12345
(其中12345是processId)
如果它真的不想玩得很好,那么 HAMMER 就可以了:
kill -9 12345
(其中12345是processId)
每次都有效(免责声明:可能会破坏一切)
答案 3 :(得分:2)
关机不应该要求进行黑客攻击,并且不要求可能破坏所有内容'免责声明:)
跑步:
grails stop-app