특정 서비스를 시작한다는 것은 무엇입니까?

특정 서비스를 시작한다는 것은 무엇입니까?

나는 AlmaLinux 9를 실행하고 있으며 서비스("X"라고 함)를 가지고 있습니다. 서비스 X를 시작하는 것이 무엇인지 알아내려고 노력 중입니다(비활성화되었기 때문에).

어떤 다른 서비스가 X를 시작할 것인지(종속성으로 또는 다른 방식으로) 표시할 수 있는 명령이 있습니까?

답변1

systemd-analyze당신이 찾고있는 것 같습니다. 입력 형식이 생성되는 graphviz그래픽 렌더러를 얻으려면 이를 설치해야 합니다 . (동일한 머신에서 이런 일이 일어날 필요는 없습니다. 단순화를 위해 그렇게 하겠습니다.)dotsystemd-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가 필요한 항목이 무엇인지 이미 알고 있거나 시작된 항목을 찾을 수 있습니다.저것오른쪽에서 서비스를 검색합니다 ->.

관련 정보