发布网友 发布时间:2022-04-20 23:09
共1个回答
热心网友 时间:2023-06-26 08:55
有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。\x0d\x0aCentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同\x0d\x0aLinux:\x0d\x0anetstat-nap#会列出所有正在使用的端口及关联的进程/应用\x0d\x0alsof-i:portnumber#portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用\x0d\x0a一、检查端口被哪个进程占用\x0d\x0a代码如下复制代码\x0d\x0a\x0d\x0anetstat-lnp|grep88#88请换为你的apache需要的端口,如:80\x0d\x0a\x0d\x0aSSH执行以上命令,可以查看到88端口正在被哪个进程使用。如下图,进程号为1777。\x0d\x0a\x0d\x0a二、查看进程的详细信息\x0d\x0aps1777\x0d\x0aSSH执行以上命令。查看相应进程号的程序详细路径。如下图。\x0d\x0a\x0d\x0a三、杀掉进程,重新启动apache\x0d\x0a代码如下复制代码\x0d\x0akill-91777#杀掉编号为1777的进程(请根据实际情况输入)\x0d\x0aservicehttpdstart#启动apache\x0d\x0a\x0d\x0aSSH执行以上命令,如果没有问题,apache将可以正常启动。\x0d\x0aWindows系统:\x0d\x0anetstat-nao#会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务\x0d\x0a最后一列为程序PID,再通过tasklist命令:tasklist|findstr2724\x0d\x0a再通过任务管理结束掉这个程序就可以了