Finding process using ports

To find out which process is using port number 35541 in a CentOS 7 system (or any Linux distribution), you can use the following methods:

1. Using lsof (List Open Files)

The lsof command can list all open files and network connections, and you can filter by the specific port:

bash 复制代码
sudo lsof -i :35541

This will show the process that is using port 35541. The output will contain columns for the command, PID (process ID), and other information.

2. Using netstat

If netstat is installed, you can use it to check for connections on a specific port:

bash 复制代码
sudo netstat -tuln | grep 35541

This will show which process is listening on that port. If you need the process ID (PID), use the following command:

bash 复制代码
sudo netstat -tulnp | grep 35541

3. Using ss (Socket Statistics)

The ss command is often recommended as a modern replacement for netstat:

bash 复制代码
sudo ss -tuln | grep 35541

To include the process ID:

bash 复制代码
sudo ss -tulnp | grep 35541

4. Using fuser

You can also use fuser, which shows which processes are using files or sockets:

bash 复制代码
sudo fuser 35541/tcp

35541/tcp: 30408

Using fuser to identify the process occupying the port and then restarting it is an effective approach to address such conflicts.

This will return the process ID (PID) that is using the port.

Once you get the PID, you can get more information about the process by running:

bash 复制代码
ps -p <PID>

Replace <PID> with the actual process ID obtained from one of the above methods.

If netstat didn't show the process as listening on port 35541, then it's likely that the port was being used by a client connection rather than a server process.

In TCP/IP networking, a process can bind to a local ephemeral port when making outbound connections as a client. The fact that port 35541 was in use by process 30408 suggests that it was likely a client-side connection, where the process was using 35541 as the source port for an outbound connection.

Here's a more detailed breakdown:

  • Listening port (server) : The process listens on a specific port, usually waiting for incoming connections. This would show up in netstat as LISTEN if it were a server process.
  • Client-side port : When a process initiates an outgoing TCP connection, the operating system assigns a source port , often from a range of ephemeral ports. These ports are usually dynamically assigned and temporary. The port 35541 was likely used in this capacity by process 30408.

To confirm this hypothesis:

  1. You could check all active connections, not just listening ones:

    bash 复制代码
    sudo netstat -anp | grep 30408

    This would show any connections (both listening and established) made by the process with PID 30408.

  2. Similarly, using ss to list all connections for this process:

    bash 复制代码
    sudo ss -ap | grep 30408

    This should show both inbound and outbound connections, confirming the client-side use of port 35541.

By restarting the process, the client-side connection was reset, likely freeing up the port.

相关推荐
%#RulER#%2 小时前
哈工大计算机系统2024大作业——Hello的程序人生
linux·笔记·程序人生
y1x2y32 小时前
【HITCSAPP 哈工大计算机系统期末大作业】 程序人生-Hello’s P2P
linux·程序人生·ubuntu
God_archer2 小时前
程序人生-hello’s P2P
linux·c语言·汇编·程序人生
西域曼波王2 小时前
哈尔滨工业大学计算机系统大作业程序人生-Hello’s P2P
linux·c语言·编辑器·vim
无效的名字3 小时前
如何安装并使用RustDesk
linux·运维·服务器
Amo Xiang5 小时前
Python 解释器安装全攻略(适用于 Linux / Windows / macOS)
linux·windows·python·环境安装
电鱼智能的电小鱼6 小时前
虚拟现实教育终端技术方案——基于EFISH-SCB-RK3588的全场景国产化替代
linux·网络·人工智能·分类·数据挖掘·vr
Aaron.Ma7 小时前
ubuntu自定义服务自动启动
linux·服务器·ubuntu
梓䈑8 小时前
【Linux系统】命令行参数 和 环境变量(含内建命令介绍)
linux·运维·chrome
会飞的土拨鼠呀8 小时前
Linux 测试本机与192.168.1.130 主机161/udp端口连通性
linux·运维·udp