Что запускает определенную услугу

Что запускает определенную услугу

Я использую AlmaLinux 9, и у меня есть служба (называется она "X"). Я хочу выяснить, что запускает службу X (так как она отключена).

Есть ли команда, которая покажет, какая другая служба запустит X (как зависимость или другая)?

решение1

systemd-analyzeКажется, это то, что вам нужно. Вам нужно установить, graphvizчтобы получить графическую визуализацию dot, которая systemd-analyze dotгенерирует формат входных данных. (это не обязательно должно происходить на той же машине. Для простоты давайте сделаем это на той же машине.)

systemd-analyze dot --require > graph.dot
grep -v 'color="red"' | dot -Tsvg Gsplines=line > graph_embedding.svg
firefox graph_embedding.svg # or some other SVG viewer

(здесь мы подавляем «конфликты с» красными ребрами и используем dotпрямые линии при соединении узлов; сплайны, которые он использует по умолчанию, делают почти любое вложение больших графов неоднозначным для чтения; мне не ясно, о чем думали авторы.)

Это может быть слишком много информации на одной картинке. Я бы рекомендовал вам быстро собрать скрипт для извлечения поддерева обратных зависимостей, начиная с интересующего вас узла, но увы, это разовая проблема (надеюсь), поэтому откройте graph.dotв своем любимом текстовом редакторе. найдите вхождения ->"X.service", обратите внимание на то, что осталось от ->, затем вы либо уже понимаете, что требует X, либо выясняете, что начинаетсячтослужбу, выполнив поиск по ней справа от ->.

Связанный контент