java Eclipse:在重新运行之前终止当前进程
我正在开发一个使用嵌入式jetty web server的小型服务器应用程序。该服务绑定到TCP端口并在后台运行。由于应用程序没有完成(它是一个服务),我必须手动终止进程,然后才能重新运行它(例如,因为当前进程正在使用TCP端口)
在Eclipse中,是否可以在重新启动当前进程之前自动终止它
你可以在下面搜索框中键入要查询的问题!
我正在开发一个使用嵌入式jetty web server的小型服务器应用程序。该服务绑定到TCP端口并在后台运行。由于应用程序没有完成(它是一个服务),我必须手动终止进程,然后才能重新运行它(例如,因为当前进程正在使用TCP端口)
在Eclipse中,是否可以在重新启动当前进程之前自动终止它
# 1 楼答案
您可以通过代码的方式来完成,而不是使用任何eclipse配置,我觉得这样更好。启动应用程序时,只需检查系统中运行的进程,并搜索要启动的进程。如果您发现该应用程序正在运行,请向其发送终止信号,然后继续启动。希望有帮助。如果您不使用eclipse,它会一直工作P
# 2 楼答案
这是我一两年前写的一个片段,从那以后一直做得很好。只需添加一个包声明。从您想要终止拥有端口的进程的任何位置调用此函数,例如main()
# 3 楼答案
日食氧气(4.7)
Eclipse Oxygen添加了terminate and relaunch功能
有两种可能的方法:
按下Shift键,同时单击运行按钮
转到窗口>首选项>运行/调试>启动>;选中“在启动时终止并重新启动”(在启动过程中按“Shift”可从菜单或工具栏切换)>应用并关闭>;运行应用程序
# 4 楼答案
Jetty还有一个ShutdownHandler,您可以将它连接到处理程序链中,该处理程序链将接受来自localhost的连接,该连接带有一个可以触发正常关闭的密钥
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ShutdownHandler.java
或者,您可以使用对服务器对象的引用连接自己的组件,该服务器对象只在另一个端口上侦听要传递给它的停止密钥
在命令行中,“jps”是获取java进程列表的最有用的方法