기본 시스템 서비스 파일 작성

기본 시스템 서비스 파일 작성

저는 사용자가 localhost에서 HTTP를 통해 상호 작용하는 Nodejs 애플리케이션을 개발 중입니다. 문자 그대로 매개변수가 없으며 데몬은 종속성이 거의 없으며 로그인 시 시작됩니다.

저는 각 플랫폼의 시작 스크립트 관용어를 따르고 싶습니다. 즉, Ubuntu에서는 Upstart를, Fedora에서는 systemd를 의미합니다.

  • 시스템 시스템 파일 작성에 대한 좋은 튜토리얼이 있나요?
  • 알아야 할 "모범 사례"가 있습니까?

다음 리소스를 찾았습니다.

나는 주로 참조로 사용할 일종의 API와 따라야 할 기본 형식을 찾고 있습니다.

답변1

다음 예는 이 링크에서 영감을 얻었으며 실제로 모든 단계를 언급하지는 않고 귀속을 위해 나열되었습니다.http://patrakov.blogspot.com/2011/01/writing-systemd-service-files.html

1 단계: 확장 매개변수를 사용하여 기본적으로 bash 프로세스를 트리거하는 이 파일(위치 참고)을 만들었습니다. Bash와 다를 수 있는 고유한 명령을 실행할 수 있습니다.

[root@y500-fedora ~]# cat /etc/systemd/system/foo.service 
[Unit]
Description=foo

[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"

[Install]
WantedBy=multi-user.target

2 단계:

다시 로드 systemd:

systemctl daemon-reload

새로운 서비스를 시작하세요:

systemctl enable foo

(또한 가능합니다 disable)

(선택사항) 3단계: 다음에 다중 사용자 모드(런레벨 3)로 재부팅하면 자동으로 시작되어야 하지만 즉시 시작하려면 다음을 수행하세요.

systemctl start foo
systemctl status foo # optional, just to verify

고쳐 쓰다:완전성을 기하기 위해 우분투 바이오닉에는 매우 철저한 매뉴얼 페이지가 있는 것 같다는 점을 추가해야 합니다.여기 RTFM

답변2

나는부터 시작할 것이다시스템 매뉴얼 페이지. 이는 시스템과 서비스의 포괄적인 리소스를 나타냅니다.

게다가freedesktop 시스템 FAQ.

답변3

답변4

이것아치 위키피디아시스템 단위 작성 페이지는 매우 포괄적이고 이해하기 쉽습니다.

관련 정보