Как удалить systemd services
Если я устанавливаю новую службу, то решаю, что больше не хочу это приложение, и удаляю его, служба все еще указана в выводе с systemctl
как error.
Где это происходит и как я могу удалить их полностью?
Если я устанавливаю новую службу, то решаю, что больше не хочу это приложение, и удаляю его, служба все еще указана в выводе с systemctl
как error.
Где это происходит и как я могу удалить их полностью?
Мой рецепт уничтожения службы (будьте осторожны с rm
заявления!)
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
Возможно, что systemd служба ‘обертывает’ старые скрипты стиля в /etc/init.d, так что вы, возможно, захотите, чтобы очистить это тоже, но это not, где systemd службы живут.
Возможно, вы ищете reset-failed
:
$ sudo systemctl reset-failed
$
Со страницы systemd man:
reset-failed [PATTERN...]
Сброс “неудачного” состояния указанных единиц, или, если имя единицы не передано, сбросьте состояние всех единиц. В случае сбоя в работе какого-либо устройства (т.е. при выходе из процесса с ненулевым кодом ошибки, аварийном завершении или тайм-ауте) оно автоматически перейдет в состояние “отказа”, а его код выхода и статус будут записываться администратором для самопроверки до тех пор, пока сервис не будет перезапущен или сброшен с помощью данной команды.
Звучит так, как будто вы его удалили, но не удалили крючок systemd:
# systemctl disable [servicename]
Добавление к ответу @mark-lakata и учет внимательности, необходимой для команды rm
. [chkconfig]
может упростить процесс! Нажмите здесь, чтобы прочитать о chkconfig )
Чтобы повторить список команд:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Примечание: 1-я команда является необязательной в зависимости от того, хотите ли вы, чтобы служба работала в текущей сессии или нет (в этом вопросе команда должна быть использована).
Вторая команда заботится как о отключении, так и об удалении (по сим-ссылкам) службы.
Удаление службы из systemd :
Systemd использует устройство (файл для определения служб) для удаления службы, которую необходимо удалить…. Вот список местоположений устройства:
/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)
Обновление системыd :
systemctl daemon-reload
systemctl reset-failed
Призрачные службы (не найденные) :
Systemd может перечислить призрачные (не найденные) службы, даже если устройство удалено по многим причинам
(*), если служба упоминается в другом устройстве, но не существует systemd будет по-прежнему перечислять эту службу в состояние не найдено, даже если нет файла устройства … вы можете найти, какое устройство использует эту службу с текстовым поиском и отредактировать эти устройства (не рекомендуется, если вы планируете установить эту службу позже).