umount(2) | System Calls Manual | umount(2) |
umount, umount2 - smonta i filesystem
Standard C library (libc, -lc)
#include <sys/mount.h>
int umount(const char *target); int umount2(const char *target, int flags);
umount() e umount2() rimuovono il filesystem (più alto) montato su target.
Sono necessari privilegi appropriati (Linux: capacità CAP_SYS_ADMIN per smontare i filesystem.
A partire da Linux 2.1.116 è stata aggiunta la chiamata di sistema umount2() che, come umount(), smonta un target, ma permette opzioni aggiuntive che controllano il comportamento dell'operazione:
In caso di successo restituisce zero. In caso di errore restituisce -1, e errno verrà impostato per indicare l'errore.
I valori di errore indicati di seguito sono causati da errori indipendenti dal tipo di filesystem. Ciascun tipo di filesystem può avere i propri errori speciali e il suo comportamento speciale. Vedere il codice sorgente del kernel per dettagli.
MNT_DETACH and MNT_EXPIRE are available since glibc 2.11.
Queste funzioni sono specifiche di Linux e non devono essere usate in programmi pensati per essere portabili.
Shared mounts cause any mount activity on a mount, including umount() operations, to be forwarded to every shared mount in the peer group and every slave mount of that peer group. This means that umount() of any peer in a set of shared mounts will cause all of its peers to be unmounted and all of their slaves to be unmounted as well.
This propagation of unmount activity can be particularly surprising on systems where every mount is shared by default. On such systems, recursively bind mounting the root directory of the filesystem onto a subdirectory and then later unmounting that subdirectory with MNT_DETACH will cause every mount in the mount namespace to be lazily unmounted.
To ensure umount() does not propagate in this fashion, the mount may be remounted using a mount(2) call with a mount_flags argument that includes both MS_REC and MS_PRIVATE prior to umount() being called.
La funzione originale umount() era chiamata come umount(device) e restituiva ENOTBLK quando non veniva chiamata da un dispositivo a blocchi. In Linux 0.98p4 fu aggiunta una chiamata umount(dir), per poter supportare dispositivi anonimi. In Linux 2.3.99-pre7 la chiamata umount(device) fu rimossa, lasciando solo umount(dir) (poiché ora i dispositivi possono essere montati in più di un posto, così specificare il dispositivo non è sufficiente).
mount(2), mount_namespaces(7), path_resolution(7), mount(8), umount(8)
La traduzione italiana di questa pagina di manuale è stata creata da Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.
Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.
4 dicembre 2022 | Linux man-pages 6.03 |