Como remover uma “porta” no solaris

6

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).

    
por Isaac 24.02.2014 / 14:32

2 respostas

0

Acontece que era uma montagem dentro de um chroot, então depois de desmontá-lo, eu poderia removê-lo.

    
por 25.02.2014 / 14:43
0

Para descobrir o que foi definido ou instalado o arquivo. Como root, execute este comando.

pkgchk -l -p /files
  • informa quais pacotes foram usados para criar o arquivo fornecido no comando.

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

    
por 24.02.2014 / 15:41