Menu Close
16.6. 사용자 지정 유닛 파일 생성
단위 파일을 처음부터 생성하는 데는 몇 가지 사용 사례가 있습니다. 사용자 지정 데몬을 실행하고, sshd 서비스의 두 번째 인스턴스를 사용하여 사용자 지정 장치 파일 생성에서 몇 가지 기존 서비스의 두 번째 인스턴스를만들 수 있습니다.
반면 기존 단위의 동작을 수정하거나 확장하려는 경우 기존 장치 파일 수정 에서 명령을 사용하십시오.
절차
다음 절차에서는 사용자 지정 서비스를 생성하는 일반적인 프로세스를 설명합니다.
-
사용자 지정 서비스로 실행 파일을 준비합니다. 사용자 지정 스크립트 또는 소프트웨어 공급자가 제공하는 실행 파일일 수 있습니다. 필요한 경우 사용자 지정 서비스의 기본 프로세스에 대해 상수 PID를 유지하도록 PID 파일을 준비합니다. 서비스에 대한 쉘 변수를 저장할 환경 파일을 포함할 수도 있습니다. 소스 스크립트가 실행 가능하고(
chmod a+x
) 대화형이 아닌지 확인합니다. /etc/systemd/system/
디렉터리에 유닛 파일을 만들고 올바른 파일 권한이 있는지 확인합니다.root
로 실행:touch /etc/systemd/system/name.service
chmod 664 /etc/systemd/system/name.service
name 을 생성할 서비스 이름으로 바꿉니다. 파일은 실행 파일일 필요가 없습니다.
이전 단계에서
만든이름.service
파일을 열고 서비스 구성 옵션을 추가합니다. 생성하려는 서비스 유형에 따라 사용할 수 있는 다양한 옵션이 있습니다. 단위 파일 구조를 참조하십시오.다음은 네트워크 관련 서비스의 유닛 구성 예입니다.
[Unit] Description=service_description After=network.target [Service] ExecStart=path_to_executable Type=forking PIDFile=path_to_pidfile [Install] WantedBy=default.target
다음과 같습니다.
-
service_description 은 저널 로그 파일과
systemctl status
명령의 출력에 표시되는 정보적 설명입니다. -
after
설정
은 네트워크가 실행된 후에만 서비스가 시작되는지 확인합니다. 다른 관련 서비스 또는 대상의 공백으로 구분된 목록을 추가합니다. - path_to_executable 은 실제 실행 파일의 경로를 나타냅니다.
-
type=forking
은 fork 시스템 호출을 수행하는 데몬에 사용됩니다. 서비스의 기본 프로세스는 path_to_pidfile 에 지정된 PID를 사용하여 생성됩니다. 중요한 [서비스] 섹션에서 다른 시작 유형을 찾습니다. -
WantedBy
는 서비스를 시작해야 하는 대상 또는 대상을 지정합니다. 이러한 대상을 실행 수준의 이전 개념을 대체하는 것으로 생각하십시오.
-
service_description 은 저널 로그 파일과
root
로 다음 명령을 실행하여새이름.service
파일이 있음을 systemd 에 알립니다.systemctl daemon-reload
systemctl start name.service
주의새 장치 파일을 생성하거나 기존 유닛 파일을 수정한 후 항상
systemctl daemon-reload
명령을 실행합니다. 그러지 않으면 디스크의 systemd 및 실제 서비스 유닛 파일의 상태가 일치하지 않아systemctl start
또는 systemctl enable