Qual é o objetivo do arquivo / proc / pid / mountinfo?

10

Qual é o objetivo do /proc/pid/mountinfoarquivo (com pid sendo a identificação numérica do processo)?

Tanto quanto posso ver, reflete o conteúdo do /proc/mountsarquivo, mas com informações adicionais.

Além disso, o arquivo parece permanecer o mesmo para todos os processos: diff para dois processos escolhidos aleatoriamente não retorna saída ( diff /proc/3833/mountinfo /proc/2349/mountinfo)

Observe que não estou perguntando o que ele contém. A partir das definições na internet, vejo que 'Este arquivo contém informações sobre pontos de montagem'. Estou perguntando por que está presente em todos os diretórios do processo? Qual é o seu propósito lá?

golem
fonte

Respostas:

15

Verifique a documentação do kernel para obter informações sobre arquivos em /proc.

Existe um desses arquivos por processo, porque nem todos os processos veem os mesmos pontos de montagem. Chroot é um recurso tradicional do Unix que permite restringir processos a uma subárvore da árvore do sistema de arquivos. Um processo chroot não veria pontos de montagem fora de sua raiz. O Linux leva isso adiante com namespaces : um processo pode compor sua própria visão do sistema de arquivos enxertando subárvores.

Para obter mais informações sobre montagem de espaços para nome, consulte pontos de montagem do sistema de arquivos particulares por processo e os artigos de Michael Kerrisk sobre espaços para nome no LWN .

Gilles 'SO- parar de ser mau'
fonte