어떤 상황에서 어떤 것이 가장 좋은지 혼란스럽습니다.
invoke-rc.d apache2 restart
또는
service apache2 restart
실제 차이가 있나요?
man service
흥미로운 점은 다음과 같습니다.
서비스는 가능한 한 예측 가능한 환경에서 System V 초기화 스크립트를 실행하여 대부분의 환경 변수를 제거하고 현재 작업 디렉터리를 /로 설정합니다.
나는 주로 Debian에 관심이 있지만 Mint(역시 Debian 기반)에도 관심이 있습니다.
답변1
공식 데비안데몬에 관한 위키 페이지다음을 사용한다고 합니다 service
.
# service ssh restart
Restarting OpenBSD Secure Shell server: sshd.
그러나 기능적 service
으로나 invoke-rc.d
대부분 동일합니다.
invoke-rc.d
명령의 매뉴얼 페이지에 따르면 이는 패키지 유지 관리자 스크립트에 선호되는 명령입니다.service
--status-all
사용 가능한 모든 데몬의 상태를 쿼리하는 고유한 옵션이 있습니다.
이는 service
사용자 중심 명령인 것처럼 보이지만 invoke-rc.d
다른 용도로도 사용됩니다.
답변2
문제는 스크립트가 서비스 명령을 시도하기 전에(작동하는) 호출-rc.d(도커 컨테이너에 실행 레벨이 없기 때문에 작동하지 않음)를 사용하려고 하기 때문에 발생할 수 있습니다. 따라서 스크립트에서 if 조건을 변경하거나, 서비스 명령을 사용하도록 존재하지 않는 경로를 찾도록 하는 게으른 방법입니다. 예를 들어:
if [ -x /xxxusr/sbin/invoke-rc.d ]; then /usr/sbin/invoke-rc.d $OMSAGENT_WS start elif [ -x /sbin/service ]; then /sbin/service $OMSAGENT_WS start