замена разделяемой библиотеки в AIX - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть общая библиотека (.so) в AIX Я знаю, что все процессы используют его. Я остановил все соответствующие процессы. Мне нужно заменить вышеуказанный файл .so (новой библиотекой) с помощью команды cp -p. Но приведенная выше команда дает ошибку: «Невозможно удалить запущенную программу»

Пока я пытаюсь "cp -p -f", он работает нормально, Но мне нужно использовать только "cp -p" Любая идея по этому вопросу будет полезна. Спасибо.

Ответы [ 2 ]

1 голос
/ 19 августа 2015

Безопасным способом является использование временного файла:

cp -p /from/libfoo.so /target/libfoo.so.tmp
mv -f /target/libfoo.so.tmp /target/libfoo.so

Вам не нужно останавливать какую-либо программу для этого;и не будет никакого момента, когда в целевой директории нет libfoo.so.

Также иногда не мешает вызывать slibclean, чтобы сохранить память чистой.Используйте 'genkld |wc -l 'до и после него, чтобы проверить, что он что-то сделал.

1 голос
/ 14 декабря 2010

использовал команду slibclean, затем "cp -p" работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...