O que acontece com o namespace de montagem de um processo interrompido

2

Eu estou experimentando com namespaces de montagem. Eu tenho um script python, que cria uma montagem de ligação, depois que um namespace de montagem com a chamada do sistema unshare . Eu imprimo o PID e faço uma pausa no script. Eu posso listar as montagens com:

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

Deixe o processo python ser interrompido antes de chamar umount (ou digamos que ele termine devido a algum erro). Agora /proc/PID desaparece. O sistema estará em um estado consistente? Quero dizer, umount será chamado automaticamente ou as montagens serão "limpas" de alguma outra forma?

    
por robert 26.09.2018 / 14:23

1 resposta

5

Um namespace de montagem, como qualquer outro namespace, é removido assim que todos os processos de membro saem (a menos que seja mantido ativo por meio de uma montagem de ligação: veja man 7 namespaces , procure por “Bind mount”) e quando um ponto de montagem é removido, todas as suas montagens são implicitamente desmontadas, veja man 7 mount_namespaces :

A mount ceases to be a member of a peer group when … the mount is implicitly unmounted because a mount namespace is removed (because it has no more member processes).

    
por 26.09.2018 / 14:32