disconnect和terminate的区别
- disconnect是关闭当前的窗口,但是保留程序在后台运行。
- terminate是关闭当前的窗口和应用程序,不会存在后台运行的情况。
演示
我们启动一个Netty服务端,然后点击disconnect查看结果。
随后用jps -l命令查看java进程列表,发现这个SimpleNettyServer还在运行。
然后我们再次启动这个Netty服务端,发现端口已经被占用了。这个端口其实就是刚才的关掉的Netty服务端在后台运行,这个时候只能去手工杀掉这个进程了。
使用terminate的话,窗口和进程都会被杀掉,建议还是使用terminate为主,不然一直留个后台白白占用了端口和资源。