Se este serviço é o que você está instalando, então você provavelmente precisará saber o gerenciamento de serviço de cada distribuição, assim como deveria estar escrevendo seus scripts de init / config corretamente para aquelas plataformas que você quer suportar.
-
systemd -
systemctl start xyz.service
Fedora 15+, RHEL7, Arch, Debian 8+, Ubuntu 15+, openSUSE 12.3+
-
Upstart -
service xyz start
Ubuntu, Fedora 9+, RHEL6
-
SysV -
/etc/init.d/xyz start
RHEL5, Debian, Suse -
OpenRC -
/etc/init.d/xyz start
Gentoo (suporta Net / FreeBSD)
-
SMF -
svcadm enable svc:/prefix/xyz
Solaris, baseado em Opensolaris (illumos, smartos etc)
-
rc -
/etc/rc.d/xyz start
BSDs
-
launchd -
launchctl start xyz
OSX
SysV é o padrão do Linux ( /etc/rc.d/xyz
) do qual a maioria dos novos sistemas init continuam a suportar os scripts, então esse é o seu ponto de base.
systemd é onde o Linux está se dirigindo
Não tenho conhecimento de um utilitário que possa ser executado em muitas plataformas, mas a maioria dos softwares de gerenciamento de configuração pode executar o gerenciamento de serviços entre plataformas. Infelizmente, isso significa que você também precisaria do software de gerenciamento de configuração (ou pelo menos os módulos subjacentes e o tempo de execução ruby / python). Isso é bom se você está gerenciando a instalação em suas próprias máquinas, como você poderia fazer tudo o que você instala a partir da ferramenta de configuração. Não é tão bom se você está tentando distribuir software para qualquer um.
Os exemplos de gerenciamento de configuração a seguir interagem com qualquer que seja o gerenciador de serviços padrão local e iniciam xyz
se ele ainda não estiver em execução. Você não precisa estar ciente de mais nada.
Um Chef receita pode gerenciar um service
resource
service "xyz" do
action :start
end
service { "xyz":
ensure => "running",
}
Módulo service
anível
- service: name=xyz state=started