Scroll to navigation

UMOUNT(2) Linux Programmer's Manual UMOUNT(2)

NOME

umount, umount2 - smonta i file system

SINTASSI

#include <sys/mount.h>

int umount(const char *target);

int umount2(const char *target, int flags);

DESCRIZIONE

umount() e umount2() rimuovono il file system (più alto) montato su target.

Sono necessari privilegi appropriati (Linux: capacità CAP_SYS_ADMIN) per smontare i file system.

A partire da Linux 2.1.116 è stata aggiunta la chiamata di sistema umount2() che, come umount(), smonta un target, ma permette flag aggiuntivi che controllano il comportamento dell'operazione:

Forza lo smontaggio anche se occupato. Questo può causare una perdita di dati. (solo per i mount NFS).
Esegue uno smontaggio lento: rende il punto di mount non disponibile per i nuovi accessi, e attualmente esegue lo smontaggio quando il punto di mount smette di essere occupato.
Marca il punto di mount come scaduto. Se un punto di mount non è attualmente in uso, allora una chiamata iniziale a umount2() con questo flag fallisce con l'errore EAGAIN, ma marca il punto di mount come scaduto. Il punto di mount rimane scaduto fino a quando non vi accede nessun processo. Una seconda chiamata umount2() che specifica MNT_EXPIRE somnta un punto di mount scaduto. Questo flag non può essere specificato con MNT_FORCE o con MNT_DETACH.

VALORE RESTITUITO

In caso di successo viene restituito zero. In caso di errore viene restituito -1 , e errno viene impostato di conseguenza.

ERRORI

I valori di errore indicati di seguito sono causati da errori indipendenti dal tipo di file system. Ciascun tipo di file system può avere i propri errori speciali e il suo comportamento speciale. Vedere il codice sorgente del kernel per dettagli.

Una chiamata a umount2() che specifica MNT_EXPIRE ha marcato con successo un file system non occupato come scaduto.
target non può essere smontato in quanto occupato.
target punta fuori dallo spazio di indirizzamento dell'utente.
target non è un punto di mount. Oppure umount2() è stato chiamato con MNT_EXPIRE e con uno fra MNT_DETACH o MNT_FORCE. è stato chiamato con MNT_EXPIRE
Un nome di percorso è più lungo di MAXPATHLEN.
Un nome di percorso era vuoto o aveva un componente inesistente.
Il kernel non può allocare una pagina libera in cui copiare nomi di file o dati.
Il chiamante non ha i privilegi necessari.

CONFORME A

Queste funzioni sono specifiche di Linux e non devono essere usate in programmi pensati per essere portabili.

NOTE

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).

VEDERE ANCHE

mount(2), path_resolution(7), mount(8), umount(8)

COLOPHON

Questa pagina fa parte del rilascio 3.11 del progetto man-pages di Linux. Si può trovare una descrizione del progetto, e informazioni su come riportare bachi, presso http://www.kernel.org/doc/man-pages/. Per la traduzione in italiano si può fare riferimento a http://www.pluto.it/ildp/collaborare/

6 ottobre 2008 Linux