서비스를 올바르게 만드는 방법은 무엇입니까?

서비스를 올바르게 만드는 방법은 무엇입니까?

제가 하는 일은 다음과 같습니다.

1) 사용자를 생성합니다. some_deployer
2) 다음과 같이 스크립트할 폴더를 생성합니다. /company/script/<service name>
3) 이 폴더에 start.shstop.sh스크립트를 생성하고 사용자에게 소유권 some_deployer과 을 사용하여 권한을 부여합니다 chmod 755. 4) 그런 다음 폴더
에 스크립트를 생성하고 사용자에게 소유권 과 권한을 부여합니다 . 5) 그런 다음 이 서비스를 서비스 목록에 추가합니다./etc/init.d/<service name>-servicesome_deployerchmod 755
/etc/init.d/

/sbin/chkconfig --add -service(suse) 또는 update-rc.d <service name>기본값(ubuntu)

이 올바른지 ? 이것이 진행하는 가장 좋은 방법입니까? 내가 만들고 있는 서비스 중 하나가 갑자기 더 이상 작동하지 않아서 묻고 있습니다. /etc/init.d/-service 명령을 시도하고 있는데 command is not found, 왜 그럴까요?

답변1

사용자를 생성할 필요는 없지만 유리하다면 생성할 수 있습니다. /company/script/에 대해 무슨 말씀을 하시는지 모르겠지만, 그렇게 하지 않을 이유는 없습니다. update-rc.d를 실행하기 전에 스크립트 파일이 /etc/init.d에 있는지 확인하세요. 왜 /company/script/를 사용하고 싶은지 잘 모르겠지만 오류로 인해 서비스 이름이 전달되지 않습니다.

여기에서 init.d 스크립트에 대한 LSB 사양을 살펴보세요.http://wiki.debian.org/LSBInitScripts stop/start/restart/force-reload/status 기능을 사용하여 단일 스크립트를 만든 다음 update-rc.d 또는 제안한 대로 등록합니다. 그러면 update-rc.d가 단일 파일을 가리키도록 허용하지만 이를 사용하여 필요한 모든 작업을 수행합니다.

답변2

LSB를 너무 믿지 마십시오. 대부분의 배포판은 오랫동안 sysvinitUbuntu, RHEL 사용을 포기했으며 upstart(RHEL의 경우 대부분 SysV 호환 모드에서) Fedora는 systemd현재 1년 넘게 사용하고 있으며 Fedora 18에서는 거의 모든 서비스가 기본 시스템입니다. systemd의 약속 중 하나는 LSB 호환 설정을 계속 처리하는 것이지만 기본 구성을 사용하는 경우 많은 이점을 제공합니다. 그 광범위한 내용을 살펴보세요선적 서류 비치.

관련 정보