Pregunta Cómo quitar una “puerta” en solaris


Tengo un archivo de tipo "puerta" en solaris 10 (que es un medio de comunicación entre procesos). De alguna manera queda y me gustaría deshacerme de él. No puedo simplemente eliminarlo con 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 algún proceso lo sigue usando. Sin embargo, lsof no muestra nada. Desde "ps -elf" tampoco está claro quién está usando esto. ¿Cómo puedo deshacerme de este archivo?

Actualización: reinicio del servidor, lo que, por supuesto, eliminó todos los procesos y, por lo tanto, liberó el archivo. Entonces podría quitarlo. Pero aún así, me gustaría saber cómo hacer esto sin reiniciar (en entornos de producción, esa no es siempre una opción).


6
2018-02-24 13:32


origen




Respuestas:


Para saber qué conjunto o instalado el archivo. Como root ejecuta este comando.

pkgchk -l -p /files
  • le dice qué paquetes se usaron para crear el archivo que le da en el comando.

Ejemplo

pkgchk -l -p *path to file*/name_service_door

Esto no funcionará si el archivo no se agregó con un paquete. Por ejemplo, lo instaló usando un archivo tar.

Si el archivo se instaló a través de un paquete, puede eliminar el paquete y esto eliminará el archivo.

Como root

pkgrm packagename

También puede detener o reiniciar el servicio con el comando svcadm.

Como root

Servicio svcadm [habilitar | deshabilitar | reiniciar | actualizar]

espero que esto ayude


0
2018-02-24 14:41



Desafortunadamente, el archivo no vino directamente de un paquete, sino que fue creado con una secuencia de comandos que vino de un paquete (que estoy compilando). Así que el comando anterior realmente no ayuda (lo intenté). - Isaac
Lo siento que no sirvio - Cyberninja


Resulta que era una montura dentro de un chroot, así que, después de desmontarla, podría quitarla.


0
2018-02-25 13:43