Respuestas:
Mi receta para la eliminación del servicio (¡tenga cuidado con las rm
declaraciones!)
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
Es posible que el servicio systemd 'envuelva' los scripts de estilo antiguo en /etc/init.d, por lo que es posible que también desee limpiar eso, pero no es donde viven los servicios systemd.
/etc/init.d/[servicename]
antes de corrersystemctl reset-failed
systemctl cat [servicename]
.
Probablemente estés buscando reset-failed
:
$ sudo systemctl reset-failed
$
Desde la página de manual de systemd:
reset-failed [PATTERN...]
Restablezca el estado "fallido" de las unidades especificadas, o si no se pasa el nombre de la unidad, restablezca el estado de todas las unidades. Cuando una unidad falla de alguna manera (es decir, el proceso sale con un código de error distinto de cero, finaliza de forma anormal o se agota el tiempo de espera), ingresará automáticamente al estado "fallido" y el administrador registrará su estado y código de salida para su introspección hasta que el servicio se reinicia o restablece con este comando.
Parece que lo desinstaló, pero no eliminó el gancho systemd:
# systemctl disable [servicename]
Agregando a la respuesta de @ mark-lakata y teniendo en cuenta la atención requerida para el rm
comando. [chkconfig]
puede simplificar el proceso ( haga clic aquí para leer sobre chkconfig )
Para repetir la lista de comandos:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Nota: El primer comando es opcional dependiendo de si desea mantener el servicio en ejecución en la sesión actual o no (en cuanto a esta pregunta, se debe usar el comando).
El segundo comando se encarga tanto de deshabilitar como de eliminar (siguiendo los enlaces simbólicos) el servicio.
chkconfig
fue el comando original para habilitar / deshabilitar los servicios SysVinit. En los sistemas que usan systemd
, puede estar presente como un comando de compatibilidad con versiones anteriores; pero el systemctl
comando nativo es igual de simple:systemctl disable [servicename]
Eliminar un servicio de systemd:
Systemd usa la unidad (archivo para definir servicios) para eliminar un servicio que la unidad debe eliminarse ... aquí hay una lista de ubicaciones de unidades:
/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)
Actualizar systemd:
systemctl daemon-reload
systemctl reset-failed
Servicios fantasma (no encontrado):
Systemd puede enumerar servicios fantasmas (no encontrados) incluso si la unidad se elimina por muchas razones
(*) si un servicio se menciona en otra unidad pero no existe, systemd seguirá enumerando ese servicio con el estado no encontrado incluso si no hay un archivo de unidad ... puede buscar qué unidad está usando ese servicio con una búsqueda de texto y edite esas unidades (no recomendado si planea instalar ese servicio más adelante)
/usr/lib/systemd/system
y también/etc/systemd/system/
. Para referencia, consulte: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…