我的一个同事最近遇到了一个问题,一个应该已经死亡的进程仍然绑定到一个网络端口,阻止其他进程绑定到该端口。具体来说,netstat -a -b正在报告一个名为SystemPID 4476的进程打开了端口 60001,除了不存在具有 PID 4476 的进程,至少据我所知。
进程资源管理器和任务管理器没有列出 PID 4476(尽管还有另一个进程以SystemPID 4命名,它有自己的一组 TCP 连接,不包括 60001)。 taskkill /PID 4476还报告说找不到 PID 4476。
有没有办法杀死这个神秘的系统进程来释放它当前绑定的端口?什么会导致这种情况发生?怎么会有任务管理器、进程资源管理器和 taskkill 都不知道的进程?重新启动设法解决了这个问题,但我想知道是否有办法在不重新启动的情况下解决这个问题。
当我登录到我的机器时出现此消息:
There is 1 zombie process.
Run Code Online (Sandbox Code Playgroud)
我有一个带有 3 个节点的 docker swarm 配置。有一个网络仅位于其中一个节点上。在该特定节点上,docker network ls显示网络,显示docker network rm [network-id]“来自守护进程的错误响应:网络...未找到”,同时docker network inspect [network-id]显示网络,它看起来不错(范围:swarm,驱动程序:覆盖)。完全像我并行创建的测试方式来比较它。有人知道吗?我怎样才能摆脱那个网络僵尸?
通过单个命令杀死 Zombie 进程和 D 状态进程的最佳方法是什么。
我有一个烦人的僵尸进程,它被 init 采用,它不会消失。我读过有一种方法可以创建一个虚拟进程,将僵尸附加为该新进程的子进程,然后杀死它,将其从进程表中删除。
我将如何做到这一点,准确地说?
是的,我已经阅读了大部分内容:
僵尸进程已经死了,所以它不能被杀死。
或者
你应该重启你的系统
和
僵尸进程不使用任何资源,您应该让它们使用
不幸的是,许多程序检查进程表以查看实例是否已经在运行,如果进程表中有条目,则将拒绝启动新的实例。
每次我的 SSHFS 连接断开时重新启动,带着 Sublime,有点傻。
我们在云网络上有一台服务器,由第三方提供。我们正在运行 Ubuntu 10.04 服务器版。
问题似乎是随机发生的,每天大约发生一到三次。顶部的平均负载通常在 2 左右,服务器运行正常,但在这些随机时间,平均负载会飙升至 30-35 左右,一切都停止了。无法访问我们的网站,无法在服务器上执行命令,无法执行任何操作。如果您尚未登录,甚至无法登录。
我们能够看到高平均负载的唯一方法是不断运行 top,以便在问题发生时它已经在运行。似乎如果它已经在运行,它会继续正常工作,但是如果它没有运行,则无法启动它。进入这种状态时无法运行任何命令使我们很难诊断问题......而且我们无论如何都不认为自己是服务器专家。
在我看来很奇怪的是,平均负载峰值如此之高,但处理器保持空闲状态,并且有足够的空闲内存。再说一次,我根本不是专家,但我非常基本的理解是,如果内存可用并且处理器没有最大化,那么就不应该有进程在等待(我很可能误会了)。
当我输入这个时,我发现它开始飙升并在一切锁定之前设法运行了一些命令。输出如下:
uname -a
Linux <server name> 2.6.32-308-ec2 #16-Ubuntu SMP Thu Sep 16 14:28:38 UTC 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
最佳
top - 10:55:08 up 15:28, 4 users, load average: 12.29, 7.01, 3.89
Tasks: 313 total, 3 running, 308 sleeping, 0 stopped, 2 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4210704k total, 2163024k used, 2047680k free, 162320k buffers
Swap: 2096440k total, 0k used, 2096440k free, 1690464k cached
PID …Run Code Online (Sandbox Code Playgroud) 我问代理是否真的提供匿名性,并想知道黑客在尝试攻击政府网站等时是如何做到的。
他们入侵 PC 使他们成为僵尸并控制他们,例如使用受害者的 IP 地址?他们使用 VPN 连接到它,什么?
(我只是好奇)
我的系统上有一些僵尸进程。我已经杀死了那些僵尸的父级,希望 init 会接管并释放资源(CLOSE_WAIT 中有很多套接字)。但是 init 并没有从系统中删除这些进程:
#ps ax
...
17051 ? Zl 8498:24 [impalad] <defunct>
...
# ps -o ppid= -p 17051
1
Run Code Online (Sandbox Code Playgroud)
有没有办法不用重启就清除僵尸?
更新:
我试过了kill -s SIGCHLD 1。它没有帮助。
zombie ×9
linux ×3
process ×3
ubuntu ×2
docker ×1
docker-swarm ×1
hacking ×1
high-load ×1
init ×1
job-control ×1
kill ×1
networking ×1
port ×1
unix ×1
windows ×1