De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 27 de Dezembro de 1997
Para desmontar sistemas de arquivos em uso, a melhor opção é combinar a saída do programa lsof com o comando kill. É claro que você vai avisar seus usuários antes para que eles possam encerrar suas tarefas com antecedência.
O comando lsof, ou List Open Files, indica todos os processos que estão acessando determinado arquivo ou filesystem. Veja um exemplo da saída deste programa:
% lsof /home COMMAND PID USER FD TYPE DEVICE SIZE/OFF INODE NAME lsof 19958 queiroz cwd VDIR 10, 8 5120 1024 /home (/d) ksh 26800 queiroz cwd VDIR 10, 8 5120 1024 /home (/d) ksh 26800 queiroz 63u VREG 10, 8 2384 1060 /home (/d) lsof 28152 queiroz cwd VDIR 10, 8 5120 1024 /home (/d)
A segunda coluna indica a identificação do processo, o que nos interessa mais diretamente. Vejamos então o script:
#!/bin/sh for pid in ""lsof /home | grep -v COMMAND | awk '{print $2}'"" do kill -9 $pid done umount /home
O umount tem que ser dado imediatamente após o falecimento dos processos que estão acessando o filesystem em questão para evitar que novos processos sejam criados, novamente impedindo o umount.
O pacote lsof pode ser encontrado no servidor de ftp anônimo da Unicamp em http://ftp.unicamp.br/pub/unix-tools/lsof.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários