UNLINK

Section: Linux Programmer's Manual (2)
Updated: 23 giugno 2004
Index Return to Main Contents
 

NOME

unlink - Rimuove un nome ed eventualmente il file a cui si riferisce  

SINTASSI

#include <unistd.h>

int unlink(const char *pathname);  

DESCRIZIONE

unlink() cancella un nome dal filesystem. Se il nome è l'ultimo link ad un file e nessun processo sta usando il file, allora viene cancellato anche il file stesso, e lo spazio occupato viene liberato.

Se invece il nome è l'ultimo link ad un file, ma il file è correntemente usato da un processo, il file viene rimosso solo quando viene chiuso il file descriptor a cui fa riferimento.

Se il nome si riferisce ad un link simbolico, il link viene rimosso.

Se il nome si riferisce ad un socket, una fifo o un dispositivo, il nome viene rimosso, ma i processi che hanno l'oggetto aperto possono continuare ad utilizzarlo.  

VALORE RESTITUITO

In caso di successo viene restituito zero; altrimenti viene restituito il valore -1, e errno viene impostato di conseguenza.  

ERRORI

EACCES
L'accesso in scrittura alla directory contenente pathname non è permesso all'UID effettivo del processo, o una delle directory in pathname non ha permesso la ricerca. (Vedere anche path_resolution(7).)
EBUSY (not on Linux)
Il file pathname non può essere scollegato poiché è usato dal sistema o da un altro processo, e l'implementazione considera questo un errore.
EFAULT
pathname punta al di fuori del proprio spazio di indirizzamento accessibile.
EIO
E' avvenuto un errore I/O.
EISDIR
pathname fa riferimento a una directory. (Questo è il valore non-POSIX restituito da Linux a partire da 2.1.132.)
ELOOP
Sono stati incontrati troppi link simbolici nel tradurre pathname.
ENAMETOOLONG
pathnameera troppo lungo.
ENOENT
Un componente in pathname non esiste o è un link simbolico scollegato, o pathname è vuoto.
ENOMEM
Insufficiente memoria disponibile per il kernel.
ENOTDIR
Un componente usato come directory in pathname non è, in effetti, una directory.
EPERM
Il sistema non permette lo scollegamento di directory, o lo scollegamento di directory richiede privilegi che il processo chiamante non ha. (Questo è l'errore restituito prescritto da POSIX: come notato in precedenza, Linux restituisce EISDIR in questo caso).
EPERM (solo Linux)
Il filesystem non permette lo scollegamento dei file.
EPERM o EACCES
La directory contenente pathname ha lo sticky bit (S_ISVTX) impostato e l'effettivo UID del processo non è nè l'UID del file da cancellare nè quello della directory che lo contiene, e il processo non ha privilegi (Linux non ha capacità CAP_FOWNER ).
EROFS
pathname fa riferimento a un file su un filesystem in sola lettura.
 

CONFORME A

SVr4, 4.3BSD, POSIX.1-2001.  

BUG

Alcune inpopportunità nel protocollo sottostante NFS possono causare sparizioni inaspettate di file che sono ancora in uso.  

VEDERE ANCHE

rm(1), chmod(2), link(2), mknod(2), open(2), rename(2), rmdir(2), unlinkat(2), mkfifo(3), remove(3), path_resolution(7)  

COLOPHON

Questa pagina fa parte del rilascio 2.75 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/


 

Index

NOME
SINTASSI
DESCRIZIONE
VALORE RESTITUITO
ERRORI
CONFORME A
BUG
VEDERE ANCHE
COLOPHON

This document was created by man2html, using the manual pages.
Time: 23:03:51 GMT, June 17, 2008