Если у Вас есть иерархия монтирования как это:
/dev/hd1 /
/dev/hd2 /a/b/c
И хочу изменить его на
/dev/hd1
/dev/hd2 /a
при сохранении структуры /a
каталог, как замечено приложениями и принятие этого /a
и /a/b
в других отношениях пусты, преобразование просто:
/a
, /a/b
и /a/b/c
/a/b/c
fstab
(или безотносительно Вашего использования ОС) для отражения нового layour/a
Затем:
mkdir -p /a/b/c
/a
кому: /a/b/c
(кроме b
Вы просто создали, очевидно).Пример/моделирование:
$ ls /u001/app/oracle
admin/
diag/
product/
...
# umount /u001/app/oracle
# <edit fstab>
# mount /u001
$ ls /u001
admin/
diag/
product/
...
На данном этапе Ваши файлы Oracle "повторно базированы" в /u001
. Просто необходимо переместить их в правильную иерархию
# mkdir -p /u001/app/oracle
# check & adapt the permissions on those directories, making sure they
# are identical to what you had
$ mv /u001/* /u001/app/oracle
<warning about not moving app to a subdirectory of itself - ok>
# Don't forget the .dotfiles
$ mv /u001/.??* /u001/app/oracle
Автоматически запускается с другим идентификатором процесса означает, что это другой процесс. Таким образом, существует родительский процесс, который следит за своими дочерними процессами, и если один из них умирает, то он перехватывается родителем. Если вы хотите полностью остановить службу, узнайте, как остановить родительский процесс. Убийство с помощью SIGKILL
- это, конечно, один из вариантов, но, скорее всего, не The Right OneTM, так как монитору сервиса, возможно, понадобится провести некоторую очистку для корректного завершения работы.
Чтобы найти процесс монитора, вам может понадобиться просмотреть весь список процессов, так как фактические слушатели могут отделиться от своих родителей (обычно с помощью комбинации fork() + setsid()
). В этом случае я нахожу вывод ps faux
(от procps
, по крайней мере, может отличаться для других реализаций) довольно удобным - он перечисляет все процессы в иерархическом дереве. Если не было PID-обертки (см. также wikipedia), PID монитора должен быть меньше PID любого из слушателей (если, конечно, вы не попали в PID-обертку).
Если вы знаете порт прослушивания процесса, вы можете использовать Fuser
с -K
флаг.
Что-то вроде,
fuser -k 3002/tcp