累了的时候看看这个 |
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
jsvc 1675 www 57u IPv6 24478 0t0 TCP *:8006 (LISTEN),
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 25579 root 56u IPv6 900804163 0t0 TCP *:8007 (LISTEN)
8006和8007都是Tomcat配置的服务端口,问题是我关闭了Tomcat ,8007就不能访问了,但是8006依旧可以访问,这是什么原因?
@ade0712 他贴的是AI 回答的
根据您提供的信息,有一个名为jsvc
的进程(进程ID为1675)正在监听8006端口,并且属于用户www
,而一个名为java
的进程(进程ID为25579)正在监听8007端口,属于用户root
。当您尝试关闭Tomcat服务时,只有监听8007端口的java
进程被关闭,而监听8006端口的jsvc
进程仍然在运行。
这里有几个可能的原因:
不同的服务实例:可能有两个Tomcat实例在运行,或者有另一个使用jsvc
的Java服务(如Apache Commons Daemon)仍在运行并使用了8006端口。关闭Tomcat可能只影响了作为服务启动的实例,而通过jsvc
启动的实例仍在运行。
权限问题:jsvc
进程由用户www
运行,而java
进程由root
运行。可能的情况是你在关闭Tomcat时,只有足够权限停止由root
用户运行的进程,而没有权限或者没有尝试停止由www
用户运行的进程。
服务管理配置:如果你是通过服务管理工具(如systemctl
、service
、init.d
脚本等)关闭Tomcat,那么这些工具的配置可能只管理了一个特定的Tomcat实例或进程。
进程挂起:jsvc
进程可能由于某种原因“挂起”,没有正确响应关闭命令。
要解决这个问题,你可以尝试以下步骤:
ps
命令查找所有与Tomcat相关的进程,例如:ps -ef | grep tomcat
或 ps -ef | grep jsvc
。jsvc
仍在运行,可以尝试手动停止它,例如使用kill
命令:kill -9 1675
(请小心使用kill -9
,因为它会立即终止进程而不给予清理的机会)。请记得在对生产环境操作之前,做好充分的备份和验证。
来自gpt4
过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号