Acontece que era uma montagem dentro de um chroot, então depois de desmontá-lo, eu poderia removê-lo.
Eu tenho um arquivo do tipo "porta" no Solaris 10 (que é um meio de comunicação entre processos). De alguma forma, sobrou e eu gostaria de me livrar disso. Eu não posso simplesmente removê-lo com rm ...
ls -l
total 0
Dr--r--r-- 1 root root 0 Oct 12 2012 name_service_door
# rm name_service_door
rm: name_service_door not removed: Device busy
# lsof name_service_door
Obviamente, alguns processos ainda estão sendo usados. No entanto, lsof não exibe nada. De um "ps -elf" também não está claro quem está usando isso. Como posso me livrar desse arquivo?
Atualização: reinicializo o servidor, o que naturalmente matou todos os processos e liberou o arquivo. Eu poderia então removê-lo. Mas ainda assim, eu estaria interessado em saber como fazer isso sem reiniciar (em ambientes de produção, isso não é uma opção).
Para descobrir o que foi definido ou instalado o arquivo. Como root, execute este comando.
pkgchk -l -p /files
Exemplo
pkgchk -l -p *path to file*/name_service_door
Isso não funcionará se o arquivo não tiver sido adicionado a um pacote. Por exemplo, você o instalou usando um arquivo tar.
Se o arquivo foi instalado através de um pacote, você pode remover o pacote e isso removerá o arquivo.
Como root
pkgrm packagename
Você também interrompe ou reinicia o serviço com o comando svcadm.
Como root
svcadm [enable|disable|restart|refresh] service
Espero que isso ajude
Tags solaris solaris-10 ipc