当前位置: 首页 > article >正文

Linux终端退出程序后,TCP地址仍被占用

报错如下:
Error on binding: Address already in use
在这里插入图片描述
这是一个正在运行的服务器,运行在linux的终端。上一次我使用Ctrl+Z退出这个程序,再次./my_server想运行这个程序时,出现这个报错。这是由两点原因:
1、守护进程或服务
某些程序可能被设计为守护进程或作为系统服务运行。这些程序在启动后会独立于启动它们的终端,持续运行以提供特定的服务。
例如,Web 服务器(如 Nginx、Apache)通常被配置为服务,它们在系统启动时自动启动,并在后台持续运行,监听特定的端口,而不受终端的影响。
2、终端退出方式不当
如果是在终端中启动程序,在退出终端时确保使用正确的方法来终止程序。例如,可以在终端中按下Ctrl + C发送中断信号来终止程序,然后再关闭终端。
如果程序是作为系统服务运行,使用相应的服务管理工具(如systemctl、service命令等)来停止服务。例如,对于 Nginx 服务,可以使用sudo service nginx stop来停止 Nginx 服务器。

首先是我使用Ctrl+Z退出程序实际上是不正确的方式,这会导致程序资源没有完全被回收,所以当我用这个不正确方法退出程序后,这个进程仍在进行http请求监听。
下次我使用Ctrl+C退出程序,或者使用sudo lsof -i :PORT【PORT替换为使用的端口号】查看当前的占用端口的进程,获取进程的PID,然后使用命令sudo kill -9 PID【PID替换为查到的PID】销毁进程就可以了。


http://www.kler.cn/a/381155.html

相关文章:

  • 《Java 与 OpenAI 协同:开启智能编程新范式》
  • 数据流图和流程图的区别
  • R型+I型+J型指令
  • Zookeeper基本命令解析
  • 软件设计与体系结构
  • AI芯片常见概念
  • 【前端】Fetch:数据请求
  • C++之数组和字符串
  • ffplay 实现视频流中音频的延迟
  • 手机ip地址怎么切换外省
  • 【大模型】海外生成式AI赛道的关键玩家:OpenAI、Anthropic之外还有谁?
  • 二、 问题发现(监控工具和方法)
  • 【Unity】Unity拖拽在Android设备有延迟和卡顿问题的解决
  • Qt 视口和窗口
  • 使用RestTemplate发送post请求,入参是多层嵌套的JSON
  • C++优选算法五 位运算
  • SEO
  • UE5相机系统初探(一)
  • 网关(Gateway)和DNS(Domain Name System)
  • 无人机声学侦测算法详解!
  • 构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统
  • 【新闻文本分类识别】Python+CNN卷积神经网络算法+深度学习+人工智能+机器学习+文本处理
  • 软考背诵笔记
  • 【植物识别】Python+深度学习+人工智能+CNN卷积神经网络+算法模型训练+TensorFlow
  • WPF+MVVM案例实战与特效(二十五)- 3D粒子波浪效果实现
  • 吉利极氪汽车嵌入式面试题及参考答案