如何干净地关闭 Grails 独立应用程序?
How to cleanly shutdown a Grails standalone application?
停止 Grails 应用程序的最佳方法是:
nohup java -jar myapp.war --server-port=9090 &
获取进程ID:
ps -A | grep java
如果进程id为3114
例如,则停止进程:
kill 3114
有时候,Grails 应用程序不能干净地杀死,然后使用:
kill -9 3114
可选地,在您在控制器中的一项操作中,您可以简单地写:
System.exit()
这是关闭 Grails 应用程序的便捷方法,它将正确执行所有 Shutdown hooks 并将通过阻止内存链接、释放资源、额外关闭任何流来干净地关闭您的应用程序。
killall -9 java
或
killall -15 java
就是这样!此命令将信号发送到由其名称标识的进程。
为什么 -9
或 -15
?
因为 您使用了 nohup
,这会阻止进程接收 SIGHUP
。因此,您必须将 -15 (SIGTERM
) 或 -9 (SIGKILL
) 与 kill 命令一起使用。
停止 Grails 应用程序的最佳方法是:
nohup java -jar myapp.war --server-port=9090 &
获取进程ID:
ps -A | grep java
如果进程id为3114
例如,则停止进程:
kill 3114
有时候,Grails 应用程序不能干净地杀死,然后使用:
kill -9 3114
可选地,在您在控制器中的一项操作中,您可以简单地写:
System.exit()
这是关闭 Grails 应用程序的便捷方法,它将正确执行所有 Shutdown hooks 并将通过阻止内存链接、释放资源、额外关闭任何流来干净地关闭您的应用程序。
killall -9 java
或
killall -15 java
就是这样!此命令将信号发送到由其名称标识的进程。
为什么 -9
或 -15
?
因为 您使用了 nohup
,这会阻止进程接收 SIGHUP
。因此,您必须将 -15 (SIGTERM
) 或 -9 (SIGKILL
) 与 kill 命令一起使用。