Posted tagged ‘lsof’

Device is busy

May 20, 2010

Se você costuma usar Linux, você deve ter visto essa mensagem ou outras parecidas (file system on device is busy) algumas vezes.. e, em algumas delas, você teve que reiniciar a máquina só para desalocar o device, certo? Bom, existe um jeito de descobrir qual aplicativo está alocando-o com o fstat.

Esse aplicativos não é nativo do Unix, então você provavelmente terá que puxá-lo.. (farei um post ensinando a procurar/instalar pacotes nos SOs que costumo usar…)

Vamos simular o seguinte: tentei desmontar o meu pen drive:

# umount /media/KINGSTON

Unmount failed: Cannot unmount because file system on device is busy

Para descobrir quem está alocando esse device:

# lsof | grep ‘/media/KINGSTON’

bash      3095      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
lsof      3655      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
grep      3656      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
lsof      3657      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON

Aqui podemos identificadar que o comando bash (PID 3095), lsof (PID 3655), grep (PID 3656) e lsof (PID 3657) estão alocando o device!

Agora podemos fechar o bash, e tentar desmontar o pen drive novamente.. e tudo dará certo! 😉

Não limite o uso do lsof para esses erros.. ele já me ajudou muito no dia-a-dia, até mesmo pra saber quais são os programas que estão alocando mais disco!

Flw vlw!

Referência: man lsof

…. ouvindo ZZ Top – Pearl Necklace (hoje é o show!! \m/)