Вопрос Команда для перечисления служб, которые запускаются при запуске?


Есть ли команда для перечисления служб, запускаемых при запуске? Я предполагаю, что это будет включать в себя парсинг /etc/init.d/, и различные /etc/rc.* каталоги.


119
2017-07-28 23:40


происхождения




ответы:


Вы можете просто использовать initctl list команды оболочки, чтобы отобразить содержимое /etc/init а не предлагаемые dbus-send команда.


102
2017-10-13 02:04





Быстрый ответ: это зависит от вашего init система.

Долгий ответ: для текущих версий Ubuntu у вас, вероятно, есть сочетание Выскочка, а также SystemV, Новые версии Ubuntu после 15.04 «Vivid Vervet» (и другие дистрибутивы Linux, такие как RHEL / CentOS 7), переходят к использованию Systemd,

Выскочка

Чтобы перечислить все службы:

initctl list

Чтобы просмотреть все службы Upstart и запустить initctl show-config на них этот однострочный может быть полезен:

initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

Система V

Чтобы перечислить все службы:

service --status-all

ИЛИ:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

Systemd

Чтобы перечислить все службы:

systemctl list-unit-files --type=service

ИЛИ:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service

85
2017-09-27 03:49



Это должен быть принятый ответ. - sjas


/etc/init.d а также /etc/rc.* каталоги были заменены "upstart'init. Хотя сценарии в этих каталогах будут выполняться, как ожидалось, новый метод запуска объектов в init определяется файлами в /etc/init/

Вы можете перечислить все вышестоящие задания, запросив выскочку на dbus:

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

Возможно, вам придется изменить 0_6 чтобы отразить версию выскочка, которую вы имеете. Эта команда работает над моей ясной установкой.


13
2017-07-29 03:30



@Eric H: Может ли ваш ответ отвечать ниже, а вместо этого - initctl list намного лучше, чем эта команда dbus. Я хотел бы оставить этот ответ здесь для справки (а не для его удаления полностью). - Jeremy Kerr


Если вам требуется приятное графическое представление служб и время, которое требуется для загрузки, попробуйте:

apt-get install bootchart

12
2017-10-13 03:39





Использование идентификатора initctl show-config <servicename> чтобы действительно получить информацию о том, когда / если ваша служба начнется во время загрузки.

Вот так:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

Или для NFS4 idmap-daemon:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

chkconfig предпочтительнее только на системах RedHat imho.


11
2017-07-21 10:46



Это правильный ответ. Я понятия не имею, почему все неправильные и неполные ответы так сильно поддержаны. - Cerin
Эта работа для людей, использующих SysV, я согласна, что это хороший ответ, но он неполный. - Gabriel Netto


12.04 мы могли бы использовать:

sudo apt-get install chkconfig
chkconfig --list

но это было удален в 12.10,

Пример вывода:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

8
2018-03-06 06:26



Не работает в Ubuntu. packages.ubuntu.com/... - A.B.
@ A.B. Спасибо, что дали мне знать! Редко кто-то может прокомментировать сегодняшние комментарии: он требует мужества и позволяет мне учиться. обновляется с версией, в которой он работает. - Ciro Santilli 新疆改造中心 六四事件 法轮功
О точности: packages.ubuntu.com/precise/chkconfig - Ciro Santilli 新疆改造中心 六四事件 法轮功


Использование gawk:

ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'

Пример вывода:

$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S

-2
2018-01-07 16:04