2012-12-01 02:23:18 +0000 2012-12-01 02:23:18 +0000
218
218

Как удалить systemd services

Если я устанавливаю новую службу, то решаю, что больше не хочу это приложение, и удаляю его, служба все еще указана в выводе с systemctl как error.

Где это происходит и как я могу удалить их полностью?

Ответы (5)

352
352
352
2015-07-06 16:46:50 +0000

Мой рецепт уничтожения службы (будьте осторожны с 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 службы живут.

34
34
34
2016-04-13 09:41:17 +0000

Возможно, вы ищете reset-failed:

$ sudo systemctl reset-failed
$

Со страницы systemd man:

reset-failed [PATTERN...]

Сброс “неудачного” состояния указанных единиц, или, если имя единицы не передано, сбросьте состояние всех единиц. В случае сбоя в работе какого-либо устройства (т.е. при выходе из процесса с ненулевым кодом ошибки, аварийном завершении или тайм-ауте) оно автоматически перейдет в состояние “отказа”, а его код выхода и статус будут записываться администратором для самопроверки до тех пор, пока сервис не будет перезапущен или сброшен с помощью данной команды.

24
24
24
2012-12-01 05:39:23 +0000

Звучит так, как будто вы его удалили, но не удалили крючок systemd:

# systemctl disable [servicename]

5
5
5
2018-07-29 12:48:30 +0000

Добавление к ответу @mark-lakata и учет внимательности, необходимой для команды rm. [chkconfig] может упростить процесс! Нажмите здесь, чтобы прочитать о chkconfig )

Чтобы повторить список команд:

  1. systemctl stop [servicename]
  2. chkconfig [servicename] off
  3. systemctl daemon-reload
  4. systemctl reset-failed

Примечание: 1-я команда является необязательной в зависимости от того, хотите ли вы, чтобы служба работала в текущей сессии или нет (в этом вопросе команда должна быть использована).

Вторая команда заботится как о отключении, так и об удалении (по сим-ссылкам) службы.

1
1
1
2018-11-07 15:31:17 +0000

Удаление службы из 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 может перечислить призрачные (не найденные) службы, даже если устройство удалено по многим причинам

  1. устройство все еще присутствует в одном из каталогов systemd
  2. Устройство не выходит, но ссылка на файл все еще присутствует в одном из каталогов systemd
  3. служба используется в других устройствах *

(*), если служба упоминается в другом устройстве, но не существует systemd будет по-прежнему перечислять эту службу в состояние не найдено, даже если нет файла устройства … вы можете найти, какое устройство использует эту службу с текстовым поиском и отредактировать эти устройства (не рекомендуется, если вы планируете установить эту службу позже).

Похожие вопросы

6
10
5
37
3