O Linux expõe informações sobre sistemas de arquivos montados em /proc/mounts . As opções de compartilhamento são muito recentes para serem exibidas nesse arquivo, mas aparecem em /proc/self/mountinfo ¹. A documentação para este arquivo está em filesystems/proc.txt na documentação do kernel. O arquivo é gerado por show_mountinfo in fs/namespace.c . Uma linha de amostra é assim:
42 18 98:0 / /mount_point rw shared:1 - ext3 /dev/sda1 rw,errors=continue
^^^^^^^^
O formato dos primeiros 6 campos é fixo. Em seguida, aparecem zero ou mais campos marcados, como shared:GROUP , master:GROUP , propagate_from:GROUP ou unbindable , indicando a função da montagem em um grupo de pares, se houver. O - introduz a parte específica do sistema de arquivos, sempre composta do nome do tipo de sistema de arquivos, nome do dispositivo e opções de montagem específicas do sistema de arquivos.
Assim:
</proc/self/mountinfo awk -vmount_point='/mount/point' '
$5 == mount_point {
i = 7;
while ($i != "-") {if ($i ~ /^shared:/) exit 0; ++i}
exit 1;
}'
¹ Em kernels Linux recentes, cada processo tem seu próprio namespace de sistema de arquivos e /proc/mounts é um link simbólico para /proc/self/mounts .