在windows系统中启动tomcat,主要有两中方式:
1.将tomcat启动载入系统服务中,进入tomcat中bin目录,进入cmd命令窗,运行命令:
service install
然后通过系统服务启动
2.通过双击tomcat/bin目录下的startup.bat
这两种方式都可以正常启动tomcat,但是各有优缺点:
启动方式 | 优点 | 缺点 |
系统服务启动 | 系统开机自启动 | windows系统下导出的线程信息内容不全面 |
startup.bat启动 | 开机后必须再次双击startup.bat启动, 关闭命令窗口服务即停止 | 导出的线程信息比较全面 |
系统服务导出的线程信息
startup.bat方式启动导出线程信息
通过服务启动的tomcat导出的线程信息是不全,主要原因是因为通过satrtup.bat启动用户为当前登录账户,而通过服务启动的tomcat用户为system用户,导出线程信息时,jstack命令需要添加 -F ,不加会提示:
insufficient memory or insufficient privilege to attach
尝试更改服务启动方式的登录账户,仍然不能使用,猜测原因可能虽然登录账户更改了,但是服务启动默认权限仍然为system账户,真实的原因没有查找到,若有大佬知道,可以私信给我