Chinaunix首页 | 论坛 | 博客
  • 博客访问: 875195
  • 博文数量: 366
  • 博客积分: 10267
  • 博客等级: 上将
  • 技术积分: 4290
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:04
文章分类

全部博文(366)

文章存档

2012年(366)

分类: 系统运维

2012-02-27 15:37:35

今天发现上Tomcat 8080端口起不来,老提示端口已经被占用。

  使用命令:

  ps -aux | grep tomcat

  发现并没有8080端口的Tomcat进程。

  使用命令:netstat –apn

  查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name

   clip_image002

  发现8080端口被PID为9658的Java进程占用。

  进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

   clip_image004

  就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

  方法二:直接使用 netstat -anp | grep portno

  即:netstat –apn | grep 8080

  linux下查看端口占用情况:

  1.查看哪个进程占用了819端口:

  case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # lsof -i:859

  运行后的结果:

  COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

  java 24907 root 31u IPv4 248905027 TCP *:859 (LISTEN)

  由以上我们知道了859端口被进程号为24907的进程占用了, 是个java进程。

  2.查看进程号为24907的进程在哪里:

  case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # ps -ef|grep 24907

  root 13421 29276 0 20:08 pts/2 00:00:00 grep 24907

  root 24907 1 0 11:43 pts/4 00:03:53 /usr/java/jdk1.6.0_13/bin/java -server -XX:PermSize=256M -XX:MaxPermSize=512m -Xbootclasspath/p:java-net-Socket.jar -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/usr/local/cnsh/tomcat-sh/conf/logging.properties -Djava.endorsed.dirs=/usr/local/cnsh/tomcat-sh/bin/endorsed -classpath :/usr/local/cnsh/tomcat-sh/bin/bootstrap.jar -Dcatalina.base=/usr/local/cnsh/tomcat-sh/bin -Dcatalina.home=/usr/local/cnsh/tomcat-sh/bin -Djava.io.tmpdir=/usr/local/cnsh/tomcat-sh/bin/temp -Xmx512m -Xms256m org.apache.catalina.startup.Bootstrap start

  由以上我们知道是目录为/usr/local/cnsh/tomcat-sh/bin/的tomcat占用了。


阅读(1788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~