【问题标题】:Finding the PID listening to a port [duplicate]查找侦听端口的 PID [重复]
【发布时间】:2021-12-16 05:39:38
【问题描述】:

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

#!/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 文件,然后在我想杀死时读取它吗?

【问题讨论】:

  • 您可以使用netstat -tanlp 或从/proc/net/dev 搜索......
  • 另一种方法是使用fuser -k -n tcp $PORT
  • @LéaGris 给了我“未知选项:k 未知选项:n”
  • 目前,此问题有 0 个赞成票、0 个反对票、2 个答案、2 个尝试回答的 cmets 和 2 个接近投票寻求书籍、工具、软件库等的建议.
  • 这能回答你的问题吗? Find (and kill) process locking port 3000 on Mac

标签: bash macos react-fullstack


【解决方案1】:

试试这个:

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

【讨论】:

  • 这行得通!谢谢(不需要 sudo)
  • 你想避免useless grep;你可以重构为sudo lsof -i :3001 -F | sed -n 's/^p//p' ...但当然lsof -t你根本不需要管道。
猜你喜欢
  • 2014-11-30
  • 2019-05-27
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
  • 2021-10-10
  • 1970-01-01
相关资源
最近更新 更多