Ответы:
Быстрый ответ: это зависит от вашей 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
service --status-all
НЕ показывает, включены ли службы для запуска при загрузке, по крайней мере, в Ubuntu 16. Показывает, запущены ли службы в настоящее время или нет.
sudo service --status-all
получить все услуги, чтобы показать. Некоторые из них были скрыты, когда я работал только service --status-all
под учетной записью без полномочий root.
systemctl
, service
, initctl
...) , поскольку они, как правило , считаются команды системного администрирования.
Каталоги /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
чтобы отразить версию вашего выскочки. Эта команда работает с моей установкой Lucid.
initctl list
- намного лучше, чем эта команда dbus. Я хотел бы оставить этот ответ здесь для справки (а не удалить его полностью), хотя.
Я использую, 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
Для Ubuntu 18.04 используйте:
systemctl list-units --type=service
вместо :
initctl
Начиная с Ubuntu 16.04, initctl
был заменен на systemd
.
https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)
(Если это может помочь @ sanjay-manohar)
Помимо системных сервисов и скриптов под:
/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / system /
Возможно, есть и приложения AutoStart , например:
find / -name "*autostart*"
ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart" "/usr/share/gnome/autostart"
Используя 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