Как убрать "дверь" в солярисе
У меня есть файл типа "дверь" в 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 [включить | отключить | перезапустить | обновить] сервис
надеюсь, это поможет