![什麼是啟動特定服務](https://rvso.com/image/231065/%E4%BB%80%E9%BA%BC%E6%98%AF%E5%95%9F%E5%8B%95%E7%89%B9%E5%AE%9A%E6%9C%8D%E5%8B%99.png)
我正在運行 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 的內容,要么找出開始的內容那透過搜尋作為 的右側的服務->
。