执行“grails run-app”后,除了使用“Ctrl + C”外,是否有关闭它的命令?
答案 0 :(得分:13)
从终端退出并使用以下命令中的任何一个
答案 1 :(得分:12)
没有。 grails run-app
旨在以交互方式运行以进行开发。
如果要将grails控制为服务,则应将其部署到Web应用程序容器(如tomcat)。例如,tomcat插件允许您轻松地将应用程序部署到tomcat。添加
之类的行tomcat.deploy.username="manager"
tomcat.deploy.password="secret"
tomcat.deploy.url="http://myserver.com/manager"
到Config.groovy然后你可以使用
grails tomcat deploy
grails tomcat undeploy
启动和停止您的申请。或者,您可以使用grails war
将您的应用捆绑到一个所有Java应用服务器都应该能够使用的war存档中。
如果你真的想在没有 Ctrl + C 的情况下停止grails run-app
,请编写一个调用System.exit(0)
的小型控制器。然后浏览到该URL,或编写一个小的shell脚本或批处理文件,用它来调用它。 wget
或curl
。
答案 2 :(得分:7)
打开一个新的命令行窗口,转到项目目录并输入:
grails stop-app
如果应用程序以分叉模式运行,这将停止应用程序。 然后,您可以转到相同的URL,看到该页面将不会显示,即服务器已停止,因为在执行命令时也会指定该服务器。
-
grails退出
如果以非分叉模式运行,这将停止应用程序,否则它将退出控制台
-
grails退出
退出控制台。
答案 3 :(得分:6)
遵循预期用法会更加愉快,如下所示:
1.1在grails提示符下,您可以通过键入“ run-app ”来启动服务器(和应用程序)。这将启动您的服务器(在开发模式下),并再次返回grails提示。在服务器运行的情况下,您现在有两个Java进程在运行,一个用于grails,另一个用于服务器和应用程序。
1.2如果要停止服务器(和应用程序),可以在grails提示符下输入“ stop-app ”,这将停止服务器和应用程序。此外,你得到你的grails提示。停止服务器/应用程序后,您将回到只运行一个Java进程,即grails。
1.3在grails提示下,您可以根据需要多次启动和停止应用程序。
1.4要停止grails本身,在grails提示符下,您可以输入'退出'或'退出',然后grails将退出,并让您回来正常的命令提示符。此时,grails java进程也应该消失,因此不应该运行java进程。
我相信所有grails 2.3.x的行为都是这样的。 我的系统是Windows 7。
希望这会有所帮助。 诺尔
答案 4 :(得分:3)
在Grails 2.1.0中,一个简单的“退出”会停止服务器
答案 5 :(得分:1)
我发现了一种适合Grails 2.0.1的简洁方法。
这是一个使用GrailsRun.groovy中的hack在运行功能测试后关闭服务器的黑客攻击。 (见第246行)
在名为.kill-run-app
的应用程序中创建一个文件当Grails看到.kill-run-app文件时,会发出grailsServer.stop()。它还可以方便地删除文件。这可能取决于启用autoRecompile。我不确定,就像我说这是一个黑客。
有一天,当GrailsRun.groovy脚本发生变化时,它很可能会停止工作。
我创建了一个简单的Ant目标来执行此操作。当然,您需要另一个终端来执行它(实际上我是从Eclipse运行它)。
<target name="kill-app" description="--> Kills Grails web application" depends="">
<touch file="${basedir}/.kill-run-app"/>
</target>
答案 6 :(得分:0)
快速方法是杀死java进程:
ps -aux | grep grails
将“容器上方的进程ID”删除到您的应用程序“
答案 7 :(得分:0)
我是Grails的新手,我也有这个“问题”。我写了一个小脚本(称为格式;-)),它杀死了所有的grails-processes。
#!/bin/bash
for P in $(ps aux | grep grails | grep java | awk '{print $2};'); do
kill -9 $P
done
exit 0
答案 8 :(得分:0)
我有同样的问题来阻止我正在运行的grails服务器。我做了
这样我就可以停止正在运行的服务器了。希望有所帮助。