EBUSY (errno 16)

errno 16

LINUX

Messaggio ufficiale (come appare sullo schermo): Device or resource busy

Cercato anche come: Device or resource busy, errno 16, target is busy

Terminale Linux che esegue strace con la chiamata di sistema non riuscita e l'errno evidenziati
errno di Linux: individua la chiamata di sistema che fallisce prima di modificare qualsiasi cosa.

Che cosa significa

EBUSY, «Device or resource busy» (errno 16), significa che la destinazione è in uso e l'operazione non può procedere. Compare più spesso quando si smonta un filesystem con file aperti, si rimuove un punto di mount o si usa un dispositivo occupato da un altro processo.

Si applica a: Linux, macOS (errno BSD), WSL, Container Docker

Come risolvere EBUSY (errno 16)

  1. Trova cosa usa un mount con 'sudo lsof +f -- /mnt/point' oppure 'sudo fuser -vm /mnt/point'
  2. Esci dalla directory in ogni shell (una shell con la directory di lavoro dentro il mount lo tiene occupato)
  3. Arresta il servizio o il processo che usa il dispositivo, poi riprova a smontare
  4. Controlla la presenza di mount annidati con 'findmnt -R /mnt/point' e smonta prima quelli interni
  5. Usa 'umount -l' (smontaggio lazy) solo come ultima risorsa: stacca il mount, ma i file in uso restano aperti
  6. In Docker, 'rm' su un percorso con bind mount restituisce EBUSY; dall'interno del container rimuovi il mount, non il punto di mount

Perché succede

Il kernel rifiuta le operazioni che interromperebbero gli utilizzatori attivi di una risorsa: file aperti o directory di lavoro su un filesystem, dispositivi montati, aperture esclusive di dispositivi e punti di mount in uso.

Domande frequenti

Come risolvo «umount: target is busy»?

Trova il processo con 'lsof' o 'fuser', chiudilo oppure esci con cd dalla directory, poi smonta di nuovo.

Errori correlati

Fonte: Linux kernel errno.h · soluzioni scritte e verificate dalla redazione (vedi la nostra politica editoriale)

Ultimo aggiornamento: