最近做的一个Web项目,发现shutdown.sh后,无法关掉tomcat进程. ps -ef | grep tomcat 返回tomcat进程仍然存在.经过调查发现是因为在Web应用中启动了线程池,shutdown只会关闭web线程(默认监听端口8080),关闭线程(默认监听8005):对于通过线程池(包括Executors创建的ExecutorService),只能是手动清除.使用tomcat容器的好处就在于能够包住应用的生命周期,比如解决这个问题就可以通过实现ServletContextL