Linux
中斷程序的掛載命名空間會發生什麼
我正在嘗試掛載命名空間。我有一個 python 腳本,它創建一個綁定掛載,之後是一個帶有
unshare
系統呼叫的掛載命名空間。我列印 PID,並暫停腳本。我可以列出這些坐騎:nsenter --mount=/proc/PID/ns/mnt mount
讓 python 程序在呼叫之前被中斷
umount
(或者讓我們說它由於某些錯誤而終止)。現在/proc/PID
消失了。系統會處於一致狀態嗎?我的意思是會umount
被自動呼叫,還是會以其他方式“清理”坐騎?
與任何其他命名空間一樣,掛載命名空間會在其所有成員程序退出後被移除(除非它通過綁定掛載保持活動狀態:請參閱
man 7 namespaces
,搜尋“綁定掛載”),並且當掛載點被移除時,其所有掛載都將被移除隱式解除安裝,請參閱man 7 mount_namespaces
:一個掛載不再是對等組的成員,當……由於掛載命名空間被刪除(因為它沒有更多的成員程序),掛載被隱式解除安裝。