c#写的端口监听,程序退出后,再次运行提示端口占用,且进程不存在

news/2025/2/7 2:06:41/

我用c#写了一个监听29999端口,进程结束后再次启动发现端口被占用,但是运行netstat -ano | findstr 29999找到进程ID后,却没有这个进程

 经查询这个监听29999进程虽然没了,但是要找到他的父进程,把父进程关闭了才可以,参考下面的例子

  1. In the first place, you must find the process that is causing the issue using the port number:

    netstat -abno | findstr /i "listening"| find ":3000"TCP    0.0.0.0:3000           0.0.0.0:0              LISTENING       3116
    
  2. secondly, you must find the parent process id (ppid) using code from @Michael

    wmic process get processid,parentprocessid | findstr/i 31163116             23828
    
  3. Next, you must find the child process ids using the next code

    wmic process where (ParentProcessId=23828) get Caption,ProcessId,CommandLineCaption        ProcessIdwireguard.exe  27400
    
  4. Kill all process starting from the child processes to the parent process

    taskkill /f /pid 27400 
    taskkill /f /pid 3116 
    taskkill /f /pid 23828

以下是我的操作步骤

 

 最后执行

 taskkill /f /pid 49412

也就是说c#启动监听服务时,是把任务最终托管给了conhost.exe进程,所以把c#主程序关了,conhost.exe没有结束,端口一直会占用着。以前我一直是重启动系统,现在就不用了:)


http://www.ppmy.cn/news/1064251.html

相关文章

Docker容器与虚拟化技术:GitHub账户注册

目录 一、实验 1.GitHub 一、实验 1.GitHub (1)GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。 (2)官网 GitHub: Let’s build from here …

win11+vmware17+centos7.9环境搭建

温故知新 📚第一章 前言📗背景📗目标📗总体方向 📚第二章 安装部署环境📗安装VMware Workstation 17 Pro软件📗安装CentOS-7虚拟机📕镜像下载地址📕创建虚拟机&#x1f4…

SpringCloud学习笔记(九)_使用Java类加载SpringBoot、SpringCloud配置文件

我们都知道平常在使用SpringBoot和SpringCloud的时候,如果需要加载一两个配置文件的话我们通常使用Value(“${属性名称}”)注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说,我们要加载下方这个名为application.…

01-jupyter notebook的使用方法

一、Tab补全 在shell中输入表达式,按下Tab,会搜索已输入变量(对象、函数等等)的命名空间: 除了补全命名、对象和模块属性,Tab还可以补全其它的。当输入看似文件路径时 (即使是Python字符串&…

海思Hi3861L开发三-新建自定义项目

一、简介 上一篇文章,介绍了如何下载安装SDK,并且编译和下载。但都是基于SDK原生提供的demo。那本节我们就来介绍一下,如果创建一个自己的项目。 二、新建目录结构 先看SDK提供的目录结构,如下图: 因为是基于应用的开发,所以我们只关注app这个文件夹。可以看到…

Python-pyqt不同窗口数据传输【使用静态函数】

文章目录 前言程序1:caogao1.py输入数据界面程序2:caogao2.py接收数据界面 程序3 :将输入数据界面和接收数据界面组合成一个总界面讲解 总结 前言 在编写pyqt 页面时有时候需要不同页面进行数据传输。本文讲解静态函数方法。直接看示例。 程…

如何使用CSS实现一个水平居中和垂直居中的布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 水平居中布局⭐ 垂直居中布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣…

Spring中@Value注解取值为null问题排查

文章目录 一、背景二、Value 取值为 null 原因分析2.1. Value 取值为 null 常见原因分析常见现象一:类没有交给 Spring 管理,比如类没有加上 Component 等注解常见现象二:手动 new 对象实例,没有从 Spring 容器中获取常见现象三&a…