Como fazer um serviço que inicia na inicialização do CentOS?

Como fazer um serviço que inicia na inicialização do CentOS?

Quando inicializo minha caixa CentOS, o httpdserviço é iniciado automaticamente. Como faço um serviço personalizado que faz a mesma coisa? Tenho um programa que uso para mineração e não quero precisar executá-lo ./minertoda vez que inicializo a máquina.

Responder1

Como você está usando o CentOS 7.x, crie uma unidade. vim /usr/lib/systemd/system/miner.servicecomo roote coloque o seguinte conteúdo:

[Unit]
Description=miner

[Service]
ExecStart=/path/to/miner

[Install]
WantedBy=multi-user.target

Você pode adicionar opções ExecStop=e ExecReload=se houver argumentos específicos usados ​​para fechar ou recarregar serviços.

Depois disso, basta systemctl enable miner.servicefazer com que ele inicie a cada inicialização.

Coisas relacionadas:

Responder2

Dependendo do provedor do programa de mineração, você pode ter o serviço associado já declarado.

No centOS você pode verificar:

# chkconfig --list 

e se você vir seu programa, poderá dizer ao sistema para executá-lo automaticamente na inicialização

# chkconfig postgresql on

Se você não encontrar nenhum resultado, você pode criar seu próprio script fictício usando um modelo, por exemplo:

Como crio um serviço para um script de shell para poder iniciá-lo e interrompê-lo como um daemon?

então coloque-o em /etc/init.d/ e chmod +x it

Você deve ser capaz de gerenciar seu aplicativo de mineração como um serviço com todas as vantagens que ele oferece

Responder3

Se você só precisa executar o comando na inicialização, não é realmente necessário tentar criar um serviço real. A coisa mais simples a fazer é acessar . /path/to/miner/etc/rc.d/rc.local. Este arquivo é um script executado em cada inicialização (e certifique-se de que rc.local seja executável), portanto, seu comando será executado quando o servidor for inicializado.

Se você realmente precisa que ele seja tratado como um serviço, a melhor maneira de fazer isso dependerá se você está usando o CentOS 7 ou 5/6.

editar: esqueci de mencionar, isso será executado como root, então se você precisar que seja executado como um usuário não root, use em vez dissosu - username -c /path/to/miner

informação relacionada