Есть ли команда для перечисления служб, запускаемых при запуске? Я предполагаю, что это потребует анализа /etc/init.d/
и различных каталогов /etc/rc.*
.
Есть ли команда для перечисления служб, запускаемых при запуске? Я предполагаю, что это потребует анализа /etc/init.d/
и различных каталогов /etc/rc.*
.
Вы можете просто использовать команду initctl list
shell, чтобы отображать содержимое /etc/init
, а не предлагаемую команду dbus-send
.
Быстрый ответ: это зависит от вашей системы init
.
Долгий ответ: для текущих версий Ubuntu у вас, вероятно, есть сочетание Upstart и 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
Перечислить все службы:
service --status-all
ИЛИ
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Перечислить все службы:
systemctl list-unit-files --type=service
ИЛИ
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
Каталоги /etc/init.d
и /etc/rc.*
были заменены инструментом инициализации « upstart
». Хотя сценарии в этих каталогах будут выполняться, как и ожидалось, новый метод запуска объектов в init определяется файлами в /etc/init/
Вы можете перечислить все стартовые задания, запросив выскочку над dbus:
dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs
Возможно, вам придется изменить 0_6
, чтобы отразить версию выскочки, которую вы имеете. Эта команда работает над моей ясной установкой.
Если вы хотите красивое графическое представление служб и время, которое требуется для загрузки, выполните следующие действия:
apt-get install bootchart
Id использует 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.
В 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
Использование 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