答案1
首先,这些子进程实际上并没有使用或报告httpd
的内存量。Unix 使用复杂的 VMtop
ps
写时复制模型,因此当一个过程叉子父母和孩子都认为他们使用了相同数量的内存, 和top
也是如此ps
。但事实上他们分享(请不要将其与IPC共享) 内存,直到其中一些修改了 VM 页面,并且只有在后一种情况下内存消耗才会增加。
如果您使用 FreeBSD,则有一个名为 的实用程序tcpdrop
,它可以终止任何已建立的 TCP 连接。由于它是 Linux,因此没有这个像样的工具。因此,您要么必须终止某个子进程(这将终止连接),但主进程在某些情况下可能会做出不适当的反应,要么重新启动整个守护进程(这将终止所有连接)。