Linux网络名称空间:杀死容器后进程仍然存在

时间:2019-04-24 14:22:04

标签: linux process linux-kernel linux-namespaces

我将网络命名空间创建为ip netns add myns,然后以守护程序ip netns exec myns process -D的身份在容器内部启动一个进程。但是,在用ip netns del myns删除名称空间之后,该过程仍保留在主机上。

是预期的吗?在删除Linux容器的同时清理进程的正确方法是什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

仅在删除对命名空间的最后一个引用后,命名空间才会被删除。

答案 1 :(得分:0)

来自:https://man7.org/linux/man-pages/man8/ip-netns.8.html

<块引用>

为了防止这种情况,在 net0 中运行的进程应该在 删除网络:

$ ip netns pids net0 | xargs kill
$ ip netns del net0