
У меня odroid XU4, на котором работает предоставленная производителем минимальная версия Ubuntu 18.04. Каждые несколько секунд (не совсем стабильно, но думаю, от 5 до 30) я получаю вызов lsb_release. Иногда он вызывается с флагом -r
, иногда с -i
. Это вызывает скачок использования процессора, который включает вентилятор платы (что довольно раздражает).
Я виделэтот вопрос, но отключение автообновлений в /etc/apt/apt.conf.d/20unattended-upgrades не уменьшило количество вызовов. Поскольку это скрипт на python, я попытался отследить вызывающего, используя методы, описанные вэтот вопрос. Однако вариант с os.getppid
не работает, если вызывающий объект не является другим скриптом Python (по крайней мере, в моем тестировании), а второй вариант с psutil не работает, поскольку import psutil
по какой-то причине завершается ошибкой при выполнении в lsb_release.
Кто-нибудь сталкивался с этим и знает, откуда все эти вызовы? Или, может быть, у кого-то есть другие идеи, как отследить, кто вызывает lsb_release? Спасибо!
Редактировать: в среднем за 40 минут это 1 звонок каждые 7 секунд. 51,1% звонков имеют -r
, остальные имеют-i
решение1
Вы можете временно перейти /usr/bin/lsb-release
и /usr/bin/orig-lsb-release
поместить на его место сценарий, содержащий что-то вроде
#!/bin/sh
ps axf > /tmp/inflagranti.txt
exec /usr/bin/orig-lsb-release "$@"
Затем, когда файл /tmp/inflagranti.txt
будет создан, вы можете вернуться /usr/bin/orig-lsb-release
к нему /usr/bin/lsb-release
и просмотреть его /tmp/inflagranti.txt
в свободное время, чтобы узнать, кто вызвал ваш скрипт.