查找监听端口的 PID

Finding the PID listening to a port

我在 macOS 上使用 bash 脚本来 运行 我的全栈应用程序的前端和后端:

#!/usr/bin/env bash

export PORT="3001"
export API_PORT="5001"
export MAIN_URL="http://localhost:"

cd Client
npm run dev &
cd ..
nodemon index.js &

问题是我想在执行 npm 和 nodemon 命令之前终止监听端口的 PID。有什么办法可以获得特定的 PID 吗? 我可以将侦听的 PID 写入 .pid 文件,然后在我想杀死时从中读取吗?

试试这个:

pid=$(sudo lsof -i :3001 -t)
kill $pid