Как убрать "дверь" в солярисе

У меня есть файл типа "дверь" в Solaris 10 (это средство межпроцессного взаимодействия). Это как-то осталось, и я хотел бы от него избавиться. Я не могу просто удалить его с помощью рм...

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 

Очевидно, что какой-то процесс все еще использует его. Однако lsof ничего не отображает. Из "ps -elf" тоже не понятно, кто этим пользуется. Как я могу избавиться от этого файла?

Обновление: я перезагружаю сервер, который, конечно, убил все процессы и таким образом выпустил файл. Я мог бы тогда удалить это. Но все же мне было бы интересно узнать, как это сделать без перезагрузки (в производственных средах это не всегда вариант).

2 ответа

Решение

Оказывается, это было крепление внутри chroot, поэтому после размонтирования я мог его удалить.

Чтобы узнать, какой файл установлен или установлен. От имени пользователя root запустите эту команду.

pkgchk -l -p /files
  • говорит вам, какие пакеты использовались для создания файла, который вы даете в команде.

пример

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

Это не будет работать, если файл не был добавлен с пакетом. Например, вы установили его с помощью файла tar.

Если файл был установлен с помощью пакета, вы можете удалить пакет, и это приведет к удалению файла.

Как корень

pkgrm packagename

Вы также можете остановить или перезапустить службу с помощью команды svcadm.

Как корень

svcadm [включить | отключить | перезапустить | обновить] сервис

надеюсь, это поможет

Другие вопросы по тегам