如何在“死”的chroot中卸载一个绑定/ proc?

我build立了一个debootstrap chroot并绑定了/ proc,例如sudo mount -o bind /proc <chroot>/proc

当我发现我不再需要它的时候,我非常愚蠢地rm -r <chroot> 'd it。 当然,rm拒绝删除/ proc。

现在卸载说/ proc正在使用中,无法卸载。 我现在如何卸载它?

谢谢。

Linux拒绝删除一个挂载点的目录,所以<chroot>/proc应该仍然存在。 而Linux拒绝删除非空的目录,所以<chroot>仍然存在。

以你在面值写的东西,你试着卸载/proc ,而不是<chroot>/proc 。 所以内核试图卸载挂载在/proc上的none文件系统。 您应该使用umount <chroot>/proc然后rmdir <chroot>/proc <chroot>卸载在<chroot>/proc挂载的none文件系统。

请注意,如果您移动了<chroot> ,则必须将新名称传递给umount 。 您可以通过查看/proc/mounts来检查内核认为/proc/mounts

如果由于/etc/mtab不同步而导致umount抱怨,请使用umount -n

如果连umount -n <chroot>/proc都不起作用,可能是因为某些进程仍在chroot中运行来访问它。 使用lsof来定位进程并杀死它。

尝试重新创build目录,然后卸载它?