Respostas:
Minha receita para obliteração de serviço (tenha cuidado com as rm
declarações!)
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed
É possível que o serviço systemd 'agrupe' os scripts de estilo antigo em /etc/init.d, portanto, você pode limpar isso também, mas não é aí que os serviços systemd estão.
/etc/init.d/[servicename]
antes de executarsystemctl reset-failed
systemctl cat [servicename]
.
Você provavelmente está procurando reset-failed
:
$ sudo systemctl reset-failed
$
Na página de manual systemd:
reset-failed [PATTERN...]
Redefina o estado "com falha" das unidades especificadas ou, se nenhum nome de unidade for passado, redefina o estado de todas as unidades. Quando uma unidade falha de alguma forma (ou seja, processo saindo com código de erro diferente de zero, finalizando de forma anormal ou atingindo o tempo limite), ela entra automaticamente no estado "com falha" e seu código e status de saída são registrados para introspecção pelo administrador até o serviço é reiniciado ou redefinido com este comando.
Parece que você o desinstalou, mas não removeu o gancho systemd:
# systemctl disable [servicename]
Adicionando à resposta de @ mark-lakata e tendo em mente a atenção necessária para o rm
comando. [chkconfig]
pode simplificar o processo! ( clique aqui para ler sobre o chkconfig )
Para reiterar a lista de comandos:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Nota: O 1º comando é opcional, dependendo se você deseja manter o serviço em execução na presente sessão ou não (quanto a esta pergunta, o comando deve ser usado).
O segundo comando cuida da desativação e remoção (seguindo os links simbólicos) do serviço.
chkconfig
foi o comando original para ativar / desativar os serviços SysVinit. Nos sistemas em uso systemd
, ele pode estar presente como um comando de compatibilidade com versões anteriores; mas o systemctl
comando nativo é tão simples quanto:systemctl disable [servicename]
Removendo um serviço do systemd:
O Systemd usa a unidade (arquivo para definir serviços) para remover um serviço que a unidade precisa ser removida ... aqui está uma lista de locais da unidade:
/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)
Atualizar systemd:
systemctl daemon-reload
systemctl reset-failed
Serviços fantasmas (não encontrados):
O Systemd pode listar serviços fantasmas (não encontrados), mesmo que a unidade seja excluída por vários motivos
(*) se um serviço for mencionado em outra unidade, mas não existir, o systemd ainda listará esse serviço com o estado não encontrado, mesmo que não haja um arquivo de unidade ... você pode pesquisar qual unidade está usando esse serviço com uma pesquisa de texto e edite essas unidades (não recomendado se você planeja instalar esse serviço posteriormente)
/usr/lib/systemd/system
e também/etc/systemd/system/
. Para referência ver: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/...