1 ps -fp $(lsof -ti :8080 -sTCP:LISTEN)(推荐)
该命令可以直接查询到比较详细的端口被启动的入口文件和命令,以及启动时候的环境变量等
eg: 比如下面, 要查看前端vite启动后,8080被谁占用, 以及在哪个入口文件被启动的

(只看谁在监听端口 8080):
            
            
              bash
              
              
            
          
          CopyEdit
lsof -i :8080 -sTCP:LISTEN输出示例(重点是这个):
            
            
              ruby
              
              
            
          
          CopyEdit COMMAND   PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    55941  duibagroup   27u  IPv4  ...       0t0  TCP *:http-alt (LISTEN)这表示:
👉 是 node 进程(PID 55941)正在监听端口 8080。
根据某个进程查看具体应用是什么
ps -p 55940 -o pid,command

它会显示 PID 为 55941 的进程的完整命令行路径,这样你就知道它运行的是什么脚本或服务了。
你想知道 哪个程序占用了 8080 端口
🔧 命令:
            
            
              bash
              
              
            
          
          CopyEdit
lsof -i :8080 -sTCP:LISTEN📌 示例输出:
            
            
              ruby
              
              
            
          
          CopyEdit COMMAND   PID        USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
node    55941  duibagroup   27u  IPv4  ...    0t0  TCP *:http-alt (LISTEN)🔍 意思:
- COMMAND: 程序名,比如- node、- python、- Google等
- PID: 进程 ID
- NAME: 表示监听的端口(- http-alt是 8080)

更精简,只输出 PID:
            
            
              bash
              
              
            
          
          CopyEdit lsof -ti :8080 -sTCP:LISTEN输出:
            
            
              bash
              
              
            
          
          CopyEdit
55941假设你已经知道 PID 是 55941
🔧 命令:
            
            
              bash
              
              
            
          
          CopyEdit
ps -fp 55941📌 示例输出:
            
            
              objectivec
              
              
            
          
          CopyEdit
UID        PID    PPID  C STIME   TTY          TIME         CMD
duibagroup 55941  1223  0 10:30  pts/0    00:00:00   node server.js你可以看到:
- 是哪个用户运行的(duibagroup)
- 是什么命令(node server.js)
- 启动时间、父进程等

