linux - 如何杀死端口节点 env 正在使用
问题描述
我正在合作部署使用sudo
ssh 访问 aws ec2 实例。
应用程序启动并抛出错误
Error: listen EADDRINUSE :::4000
如果我做:
sudo fuser 4000/tcp
我得到:
4000/tcp: 1669
如果我做:
sudo fuser -i -k 4000/tcp
我得到:
4000/tcp: 1669 Kill process 1669 ? (y/N)
如果我做:
y
它不会杀死端口。我当然也停止了该应用程序。
我没有网络统计。
这是具有root访问权限的特权吗?我会尝试更改端口号,但现在没有该访问权限。
还有什么我可以尝试的吗?
谢谢
解决方案
您可以使用 kill 和 lsof 的组合来执行此操作。
sudo kill -9 $(sudo lsof -t -i:4000)
它告诉操作系统使用端口 4000 终止进程。
sudo
您可能需要根级别访问权限kill -9
告诉操作系统终止进程$(some command)
命令替换/运行命令lsof -t
暗示不包括标题的简洁输出lsof -i:PORT_NUMBER
用于按互联网地址/端口过滤列表
推荐阅读
- laravel - 流明:模型时间戳的 InvalidArgumentException 与 $dateFormat = 'U'
- javascript - 为什么这条评论会在 Javascript/React 代码中作为参数传递?
- xcode - 核心数据滑动删除实现中的错误
- php - Laravel - 子域路由前缀导致其他路由不返回“未找到”
- typescript - typescript 接受一元 fn 尽管类型为二进制
- java - Windows 上的 gradle assemble 版本上的 JAVA_HOME 错误
- c# - Castle Winsdor - 通过类型化工厂传递的传播依赖项
- angular - 仅向 *ngFor 广播增量更改?
- python - 在 python/selenium 中检查代理
- r - 根据 data.frame 中每组的 xy 坐标计算斜率