如何重新启动grails应用程序,而不是通过执行ctrl z并将其重新运行来关闭它。如何重新启动grails web应用程序
,当我这样做的,它说
Error Server failed to start for port 8080: Address already in use
如何重新启动grails应用程序,而不是通过执行ctrl z并将其重新运行来关闭它。如何重新启动grails web应用程序
,当我这样做的,它说
Error Server failed to start for port 8080: Address already in use
CTRL - ž不关闭应用程序,发送SIGTSTP signal to the process暂停它...挂起的进程仍然有连接它们的资源(端口,文件等),所以你不能在一个挂起的时候在同一个端口上运行另一个grails实例。
要使其重新to the foreground,你可以在同一个shell中输入fg
(或者,如果你想让它run in the background,您可以使用bg
)
要关闭它,你需要CTRL - Ç (或者你可以杀死它作为nickdos在评论中说的)
要干净地关闭run-app
或run-war
,创建Grails应用程序(即沿着012顶级目录中名为.kill-run-app
一个空文件,src
等)。一旦应用程序停止,Grails会自动删除这个文件,所以当它创建后不久就会消失。
FANTASTIC !!!!!! – Spider 2012-12-05 08:46:17
似乎并没有在工作的Grails 3.请参阅[这个答案,而不是(http://stackoverflow.com/a/22673925/539048) – GreenGiant 2016-05-09 17:02:24
如果仍然不工作:
lsof -i :8080
或ps aux | grep grails
显示进程ID,然后首先尝试很好地杀死它:
kill 12345
(其中12345是的ProcessID)
如果它真的不想玩得很好,那么HAMMER它与:
kill -9 12345
(其中12345是的ProcessID)
屡试不爽(免责声明:可能毁掉一切)
我会记住这件事锤击心中。 :D – 2013-02-23 03:25:24
听起来像是你不等待足够长的服务器关机 - 也有可能是一些凝固酶原sses在关机时触发(捕捉SIGHUP),并且您需要等待它们完成后才能重新运行run-app命令。 – nickdos 2012-07-12 04:44:33
@nickdos我给了一些时间,它仍然做同样的事情。有没有一种方法可以手动关闭内置于grails的jetty web服务器? – 2012-07-12 04:51:31
根据您的平台,您应该能够找到码头的活动流程,并以高杀伤率杀死该流程。例如。对于Mac OS X和Linux,它会'kill -9',其中是进程号。不记得如何在Windows上做到这一点,抱歉。 –
nickdos
2012-07-12 04:56:58