中断进程的挂载命名空间会发生什么

rob*_*ert 2 linux mount namespace

我正在试验挂载命名空间。我有一个 python 脚本,它创建一个绑定挂载,然后是一个带有unshare系统调用的挂载命名空间。我打印 PID,并暂停脚本。我可以列出坐骑:

nsenter --mount=/proc/PID/ns/mnt
mount
Run Code Online (Sandbox Code Playgroud)

在调用之前让 python 进程被中断umount(或者让我们说它由于某些错误而终止)。现在/proc/PID消失了。系统会处于一致状态吗?我的意思是会umount被自动调用,还是会以其他方式“清理”坐骑?

Luc*_*ter 5

挂载命名空间与任何其他命名空间一样,一旦其所有成员进程退出,就会被删除(除非它通过绑定挂载保持活动状态:see man 7 namespaces,搜索“绑定挂载”),并且当挂载点被删除时,其所有挂载都将被删除隐式卸载,请参阅man 7 mount_namespaces

当……挂载被隐式卸载时,挂载不再是对等组的成员,因为挂载命名空间被删除(因为它没有更多的成员进程)。