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 
 
看个具体实例

使用命令:

ps -aux | grep tomcat

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

使用命令:netstat –apn

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

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

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

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

直接使用 netstat   -anp   |   grep  portno
即:netstat –apn | grep 8080

时间: 2024-07-31 18:22:15

Linux下查看端口被占用进程的相关文章

Linux下查看端口占用进程号,程序名的方法_Linux

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. 查看进程

Mac 和Linux下查看端口占用及查杀进程

常用netstat去查询,想找到对应的进程去杀,一直记不住,记到空间里,以后可以方便随时翻阅 netstat命令 netstat -an | grep 80 80替换成需要grep的端口号 lsof命令 通过list open file命令可以查看到当前打开文件,在linux中所有事物都是以文件形式存在,包括网络连接及硬件设备. lsof -i:80 -i参数表示网络链接,:80指明端口号,该命令会同时列出PID,方便kill 小计:重启sudo apachectl start 后最后发现是代理

linux下查看内存

前言:在Linux上不像在Windows上看内存那样方便,而且还有Swap这个新的概念,所以知道如何来看Linux内存还是有一定意义的. 在Linux下查看内存我们一般用command free [root@nonamelinux ~]# free total used free shared buffers cached Mem: 386024 377116 8908 0 21280 155468 -/+ buffers/cache: 200368 185656 Swap: 393552 0

linux下查看nginx、apache、mysql、php的编译参数

下文我们一起来看一个linux下查看nginx.apache.mysql.php的编译参数例子,希望此例子对各位有帮助. 查看nginx.apache.mysql.php参数我们可以用到 /App/nginx/sbin/nginx -V 查看nginx参数 # cat config.nice 查看apache参数 #cat "/usr/local/mysql/bin/mysqlbug"|grep configure 查看mysql参数 /usr/local/php/bin/php -i

源代码-怎么样再linux下查看dump_stack()函数打印出来的信息?

问题描述 怎么样再linux下查看dump_stack()函数打印出来的信息? 本人Linux小白,刚学没多久,最近我想要研究下linux中打开文件操作的流程,于是我就在内核的filp open()函数的源代码中插入了dump_stack_()函数. 我重新编译内核之后,直接在终端调用cd 命令行,然后想在系统日志里面看看有没有 函数调用打印出来,但是翻来翻去好像什么都没有的样子. 但是我自己写一个简单的模块,里面有dump_stack_函数,在编译模块,再运行这个模块, 这样的话又可以在日志里

启动-Linux下查看 vmware 虚拟机版本

问题描述 Linux下查看 vmware 虚拟机版本 怎么在Linux 下查看 vmware 虚拟机版本?怎么启动?怎样知道虚拟机在哪个目录下? 解决方案 rpm -qa|grep VM 解决方案二: vmware-toolbox-cmd -v

linux下查看动态链接库依赖关系的命令 x86: ldd *.so arm: arm-linux-readelf -d *.so 实际例子: 以项目中用到的库librtsp.so分析: lijun@ubuntu:~/workspace$ arm-hisiv100nptl-

linux下查看动态链接库依赖关系的命令 x86:ldd    *.so arm:arm-linux-readelf    -d    *.so 实际例子:以项目中用到的库librtsp.so分析:lijun@ubuntu:~/workspace$ arm-hisiv100nptl-linux-ld -d librtsp.so arm-hisiv100nptl-linux-ld: warning: liblog.so, needed by librtsp.so, not found (try u

linux下查看文件-Linux下如果要在根目录查找内容包含某个字符串的文件,怎么查找啊,谢谢

问题描述 Linux下如果要在根目录查找内容包含某个字符串的文件,怎么查找啊,谢谢 我想在Linux下查看某个函数的定义在那个文件里,前提是我不知道在那个文件夹下面,有谁可以帮我看看啊,谢谢 解决方案 在某个目录下的所有文件的内容中,查找包含某个字符串的文件Linux下查找包含字符串的文件命令linux下查找某个目录下包含某个字符串的文件 解决方案二: 问题终于解决了,非常感谢! 解决方案三: grep -rHwns "search str" / 解决方案四: grep -n &quo

Linux下查看SELinux状态和关闭SELinux的方法

Linux下查看SELinux状态和关闭SELinux的方法  一.查看SELinux状态命令: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:                 enabled 2.getenforce                 ##也可以用这个命令检查 二.关闭SELinux方法: 1.临时关闭(不用重启机器): 代码如下: setenforce 0 #设置SE