서비스와 systemctl의 차이점은 무엇입니까?


33

어쩌면 이것은 사소한 질문 일 수도 있지만 완전히 명확하지는 않습니다. 서버 중 하나에서 다음 service과 같이 시작된 백그라운드 프로세스와 시작된 일부 백그라운드 프로세스가 있습니다 systemctl.

$ service nginx start
$ systemctl start gunicorn

두 명령의 차이점은 무엇입니까? 백그라운드 서비스를 처리하는 데 선호되는 방법은 무엇입니까? 선호하는 명령을 구성하는 방법은 무엇입니까?


3
거기에 아주 좋은 설명 이 있습니다
Félix Brunet

이것의 고통스러운 부분은 서비스가 '소멸되었다'고 말하고 그렇지 않은 경우 왜 'find / grep / locate'와 같이 인수 순서를 변경합니까? 리눅스 릴리스 내에서 일관성이 없습니다 :(
killjoy

답변:


37

service다른 유닉스와 리눅스에서 서비스를 시작하고 중지하는 데 사용되는 "고급"명령입니다. "하위 레벨"서비스 관리자 service에 따라 다른 바이너리로 리디렉션합니다.

예를 들어 CentOS 7에서는로 리디렉션되고 systemctlCentOS 6에서는 직접 상대 /etc/init.d스크립트를 호출합니다 . 다른 한편으로, 구 우분투 릴리스에서는upstart

service직접 호출 systemctl하면 더 큰 제어 옵션을 제공 하면서 기본 서비스 관리에 적합합니다 .


9

systemctl기본적으로 더 강력한 버전입니다 service.

으로 service만 서비스에 관련된 명령을 수행 할 수 있습니다 (즉 status, reload, restart)와 반면에 systemctl당신과 같은 고급 명령을 사용할 수 있습니다 :

systemctl is-failed name.service # check if service failed to load

또는 마스킹 서비스 :

systemctl mask name.service

Ask Ubuntu 의이 페이지 에는 많은 정보가 있습니다.


1

systemctl에 데몬 / 서비스를 제어 할 수있는 주요 유틸리티 systemd,
그동안 service명령의 전통적인 유틸리티입니다 SysVinit세계.

systemd의 기능 중 하나는 SysVinit / legacy 명령과 호환되는
것이므로 systemctl명령
service foo start이 있으면 래퍼가됩니다 systemctl start foo.

에 대한 동일한 이야기 chkconfig.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.