Идентификация запущения программ, которые используют старую версию библиотеки, которую я просто заменил

Если проблема состоит в том, что Вы не хотите разрешать эти имена с помощью ipv6, то просто просят, чтобы getent использовал ipv4 только. Это перечислит все адреса ipv4:

giuseppe@blatta:~$ getent ahostsv4 www.google.com | cut -d' ' -f1 | sort -u
173.194.40.80
173.194.40.81
173.194.40.82
173.194.40.83
173.194.40.84
9
08.04.2014, 23:32
2 ответа
[1129248] Я нашёл два способа сделать это:

when-changed FILE COMMAND...

Специфичный для Debian, список большинства удалённых/замещённых файлов, хранящийся в процессах[1129943] (за исключением определённых файлов, которые, как известно, являются переходными, например, файлы в [1129944]/tmp[1129945]): Пакет [1129946]debian-goodies[1129947] содержит [1129948]checkrestart[1129949], который выполняет нечто похожее на то, что я описал, извлекая вывод [1129950]lsof[1129951], чтобы найти открытые файлы, которые пропали или были заменены на диске. Он идентифицирует процессы, о которых идет речь, и (если возможно) пакет, к которому они принадлежат, а также любой init-скрипт, который может быть использован для их перезапуска. Опция [1129952]-v[1129953] идентифицирует соответствующие файлы.

when-changed FILE [FILE ...] -c COMMAND

Общий, ручной, позволяет указать файл, о котором вы беспокоитесь:[1129993] Вы можете посмотреть на вывод [1129994]lsof[1129995] для идентификации открытых файловых дескрипторов для удаленных или замененных файлов. В выводе [1129996]lsof -nnP[1129997] такой файл идентифицируется в четвертой колонке [1129998]DEL[1129999]. Вы можете сделать что-то вроде [1130000]lsof -nnP | grep DEL.*libssl.so[1130001] для поиска несвежих дескрипторов к определенной библиотеке (OpenSSL, в данном случае). Это, вероятно, сильно зависит от конкретной версии lsof, которую вы используете, и от поведения вашего менеджера пакетов, так что будьте осторожны.

pluto 3592 root DEL REG 202,0 98831 /lib/i386-linux-gnu/libssl.so.1.0.0 плутон 3604 корень DEL REG 202,0 98831 /lib/i386-linux-gnu/libssl.so.1.0.0

9
27.01.2020, 20:06
[1129382] Быстрый и грязный способ в Linux ([1129760] благодаря[12120]Lekensteyn[1129763]):[12121] Для точного разбора можно вызвать [1129764]lsof[1129765] с помощью опции [1129766]-F[1129767], чтобы получить парсируемый вывод. Включите поле [1129768]f[1129769] для фильтрации удаленных файлов ([1129770]fDEL[1129771]) и поле [1129772]n[1129773] для получения пути к файлу. Обратите внимание, что фрагмент ниже давит на имена файлов, содержащих новые строки.[12122]
3
27.01.2020, 20:06

Теги

Похожие вопросы