수정 될 때 시스템 단위 파일을 다시로드해야합니까?


138

mine.service파일을 작성한다고 가정 해 봅시다 . 그런 다음을 사용 systemctl enable mine.service합니다.

나중에 편집하기로 결정한 경우 변경 되었음을 mine.service알려야 합니까? 그렇다면 어떻게해야합니까?systemdmine.service

답변:


169

단위 파일을 변경 한 후 여기에systemctl daemon-reload 설명 된대로 실행해야합니다 .

daemon-reload 시스템
관리자 구성을 다시 로드하십시오. 그러면 모든 생성기 ( systemd.generator (7) 참조 )를 다시 실행하고 모든 단위 파일을 다시로드하며 전체 종속성 트리를 다시 만듭니다. 데몬을 다시로드하는 동안 사용자 구성을 대신하여 systemd 청취 된 모든 소켓은 액세스 가능한 상태로 유지됩니다.

그런 다음 원하는대로 서비스를 다시 시작하거나 다시로드 할 수 있습니다

systemctl restart your-service-name

(데몬 재로드는 서비스 자체를 다시로드 / 다시 시작하지 않으며 시스템이 새로운 구성을 인식하게합니다)


2
또한 systemctl restart서비스 자체를 실제로 다시 시작 하기 위해 실행해야한다는 것을 알았 습니다.
hwjp

3
daemon-reload보편적이지 않은 경우를 대비 systemctl --user daemon-reload하여 사용자 서비스 를 실행 해야합니다.
Olegs Jeremejevs

참고로, 생성기를 다시 실행하기 전에 "생성기로 생성 한 이전 구성을 삭제하십시오": freedesktop.org/software/systemd/man/systemd.generator.html
rogerdpack

8

위의 답변 외에도 [Install]지시문 에서 무언가를 변경 한 경우 sudo systemctl reenable YOURUNITFILE.target 디렉토리에서 심볼릭 링크를 다시 작성하기 위해 실행해야 할 수도 있습니다 .


이것은 나를 위해 속임수를했다! systemctl이 서비스 파일을 다시로드하지 않은 이유를 알지 못했습니다.
antonagestam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.