在linux系统中运维tomcat服务时,确认其运行状态是基础且高频的操作,不同的查看方式适用于不同的场景,下面逐一介绍常用的检测方法。

方法一:通过ps命令查看tomcat进程
ps命令是linux系统中查看进程状态的基础工具,tomcat运行时会启动java进程,我们可以通过过滤进程信息来判断tomcat是否运行。
常用的查看命令如下:
# 过滤包含tomcat关键字的进程 ps -ef | grep tomcat | grep -v grep # 也可以使用aux参数查看更详细的进程信息 ps aux | grep tomcat | grep -v grep
如果命令执行后有输出结果,说明存在tomcat相关进程,通常代表tomcat正在运行。输出结果中会显示进程的PID、启动用户、启动时间等信息,其中PID可以用于后续的操作比如停止进程。
如果执行后没有输出,说明当前系统中没有tomcat相关进程,tomcat未运行。
方法二:通过端口检测判断运行状态
tomcat默认会监听8080端口,我们也可以查看对应端口是否被占用,来判断tomcat是否运行。常用的端口查看命令有netstat和ss。
使用netstat命令的示例:
# 查看8080端口的监听情况,需要先安装net-tools工具包 netstat -tlnp | grep 8080
使用ss命令的示例:
# ss是更轻量的端口查看工具,系统一般默认自带 ss -tlnp | grep 8080
如果命令执行后有输出,且输出中显示对应的进程是java进程,说明tomcat正在运行并监听该端口。如果端口没有被监听,说明tomcat未启动或者配置了其他端口。
如果修改过tomcat的默认端口,需要将命令中的8080替换成实际的端口号再执行。
方法三:查看tomcat启动日志
tomcat的启动日志中会明确记录启动是否成功,我们可以通过查看日志文件来确认运行状态,这种方式还能同时看到启动过程中是否有异常。
日志文件默认在tomcat安装目录的logs文件夹下,文件名为catalina.out,查看命令如下:
# 进入tomcat安装目录,假设安装路径为/usr/local/tomcat cd /usr/local/tomcat/logs # 查看日志最后100行内容 tail -n 100 catalina.out
如果日志最后出现类似Server startup in [xxx] milliseconds的内容,说明tomcat已经启动成功。如果日志中有报错信息,说明启动过程中出现异常,tomcat可能没有正常运行。
方法四:通过systemctl命令查看(适用于配置为系统服务的tomcat)
如果tomcat被配置为linux的系统服务,可以直接使用systemctl命令查看状态,这种方式更便捷,还能直接进行启动停止操作。
假设tomcat的服务名为tomcat,查看状态的命令如下:
# 查看tomcat服务状态 systemctl status tomcat
如果输出中显示active (running),说明tomcat正在运行。如果显示inactive (dead),说明tomcat未运行。如果显示failed,说明tomcat启动失败。
不同方法的适用场景对比
不同查看方式的适用场景有所差异,我们可以通过下表快速选择:
| 查看方法 | 适用场景 | 优点 |
|---|---|---|
| ps命令查看进程 | 所有tomcat部署场景 | 通用性强,不需要知道端口和服务名 |
| 端口检测 | 知道tomcat监听端口的场景 | 能同时确认端口是否正常监听 |
| 查看启动日志 | 需要排查启动异常的场景 | 能看到启动过程的详细错误信息 |
| systemctl命令 | tomcat配置为系统服务的场景 | 操作便捷,能直接管理服务 |
注意事项
- 执行ps命令时,grep tomcat可能会匹配到grep自身的进程,所以需要加上
grep -v grep过滤掉无关进程。 - 如果服务器上部署了多个tomcat实例,需要结合安装路径或者端口来区分不同的实例状态。
- 使用端口检测时,需要确保对应的端口没有被其他进程占用,否则可能出现误判。