如何重新啓動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