Linux下查看端口占用情况

Linux下查看端口占用情况

有时候,服务器上并没有什么问题,但网站却打不开,或是Mysql服务是启动的,但连接不了,重启依依旧。这时候就要考虑是不是端口被占用了,或是因为软件冲突,或是因为软件出问题了。

用启动服务的账号登录,然后运行命令:

lsof -i:<端口号>

例如:

[root@SonarServer1 user0]# lsof -i:80

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java 19408 root 144u IPv6 183572842 0t0 TCP *:http (LISTEN)

也可使用命令:

netstat -apn|grep <端口号>

例如:

[root@SonarServer1 user0]# netstat -apn|grep 80

tcp 0 0 :::80 :::* LISTEN 19408/java

找到进程号以后,再使用以下命令查看详细信息:

ps -aux|grep <进程号>

[root@SonarServer1 user0]# ps -aux|grep 19408

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

root 19408 3.8 2.2 2520992 357368 ? Sl 10:29 0:27 java -Djava.awt.headless=true -XX:MaxPermSize=128m -Xms256m -Xmx512m -Djava.library.path=./lib -classpath ../../lib/servlet-api-2.5-20081211.jar:../../lib/jetty-util-6.1.25.jar:../../lib/activation-1.1.jar:../../lib/geronimo-spec-jta-1.0-M1.jar:../../lib/wrapper-3.2.3.jar:../../lib/commons-io-2.0.1.jar:../../lib/jetty-6.1.25.jar:../../lib/sonar-application-3.2.jar:../../lib/jetty-naming-6.1.25.jar:../../lib/jetty-plus-6.1.25.jar:../../:../../extensions/jdbc-driver/mysql/mysql-connector-java-5.1.18.jar:../../extensions/jdbc-driver/postgresql/postgresql-9.0-801.jdbc3.jar:../../extensions/jdbc-driver/mssql/jtds-1.2.4.jar -Dwrapper.key=n24m_l80HqD33MJi -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=19406 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp org.sonar.application.StartServer

root 19460 0.0 0.0 105476 948 pts/5 S+ 10:41 0:00 grep 19408