Linux

中斷程序的掛載命名空間會發生什麼

  • September 26, 2018

我正在嘗試掛載命名空間。我有一個 python 腳本,它創建一個綁定掛載,之後是一個帶有unshare系統呼叫的掛載命名空間。我列印 PID,並暫停腳本。我可以列出這些坐騎:

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

讓 python 程序在呼叫之前被中斷umount(或者讓我們說它由於某些錯誤而終止)。現在/proc/PID消失了。系統會處於一致狀態嗎?我的意思是會umount被自動呼叫,還是會以其他方式“清理”坐騎?

與任何其他命名空間一樣,掛載命名空間會在其所有成員程序退出後被移除(除非它通過綁定掛載保持活動狀態:請參閱man 7 namespaces,搜尋“綁定掛載”),並且當掛載點被移除時,其所有掛載都將被移除隱式解除安裝,請參閱man 7 mount_namespaces

一個掛載不再是對等組的成員,當……由於掛載命名空間被刪除(因為它沒有更多的成員程序),掛載被隱式解除安裝。

引用自:https://unix.stackexchange.com/questions/471566