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

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

我正在尝试安装命名空间。我有一个 python 脚本,它创建一个绑定挂载,然后使用unshare系统调用创建一个挂载命名空间。我打印 PID,然后暂停脚本。我可以列出安装:

nsenter --mount=/proc/PID/ns/mnt
mount

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

答案1

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

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

相关内容