Ada*_*eld 83 windows port process zombie
我的一个同事最近遇到了一个问题,一个应该已经死亡的进程仍然绑定到一个网络端口,阻止其他进程绑定到该端口。具体来说,netstat -a -b正在报告一个名为SystemPID 4476的进程打开了端口 60001,除了不存在具有 PID 4476 的进程,至少据我所知。
进程资源管理器和任务管理器没有列出 PID 4476(尽管还有另一个进程以SystemPID 4命名,它有自己的一组 TCP 连接,不包括 60001)。 taskkill /PID 4476还报告说找不到 PID 4476。
有没有办法杀死这个神秘的系统进程来释放它当前绑定的端口?什么会导致这种情况发生?怎么会有任务管理器、进程资源管理器和 taskkill 都不知道的进程?重新启动设法解决了这个问题,但我想知道是否有办法在不重新启动的情况下解决这个问题。
小智 71
我知道这是一个旧线程,但如果其他人遇到同样的问题,我有...
可能发生的情况是您的进程在崩溃或以其他方式退出时打开了一个 TCP 端口而没有明确关闭它。通常操作系统会清理这些类型的东西,但只有在进程记录消失时才会清理。虽然该进程可能看起来不再运行,但至少有一件事可以保留它的记录,以防止其 PID 的重用。这是一个没有与父进程分离的子进程的存在。
如果您的程序在运行时产生了任何进程,请尝试杀死它们。这应该会导致其进程记录被释放并清理 TCP 端口。显然,当记录被释放时,windows 会这样做,而不是像我预期的那样在进程退出时执行此操作。
小智 10
以管理员身份打开命令提示符
*** 重复第 2 步,直到不再有子进程
C:\WINDOWS\system32>wmic process where (ParentProcessId=1091 ) get Caption,ProcessId
字幕进程ID
cmd.exe 1328
2.a. C:\WINDOWS\system32>wmic process where (ParentProcessId=1328) get Caption,ProcessId
Caption ProcessId
conhost.exe 1128
Run Code Online (Sandbox Code Playgroud)
2.b. 重复此操作,直到找不到其他子进程
-- 然后杀死所有子进程
您是否尝试使用 TCPView 并关闭连接?我不知道它是否会显示您所描述的场景中的联系,因为我从未遇到过这种情况。但如果这种情况再次发生,这是我唯一能想到的。
过程是怎样的——是商业软件还是本土开发的软件?似乎某些木马使用了端口 60001 - 我想知道它是否可能是一个 rootkit 或可以隐藏操作系统的东西?可能想用 AV 给那台机器一次很好的体验,也许是来自可启动媒体的东西。
| 归档时间: |
|
| 查看次数: |
209445 次 |
| 最近记录: |