Відповіді:
Швидка відповідь: Це залежить від вашої 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
на позакореневий обліковий запис.
systemctl
, service
, initctl
...) , оскільки вони, як правило , вважаються команди системного адміністрування.
/etc/init.d
І /etc/rc.*
каталоги були замінені « upstart
» INIT інструменту. Хоча сценарії в цих каталогах будуть виконані, як очікувалося, новий метод запуску речей в init визначається файлами в/etc/init/
Ви можете перелічити всі початкові завдання, за допомогою запиту upstart через dbus:
dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs
Можливо, вам доведеться змінити, 0_6
щоб відобразити наявну у вас версію. Ця команда працює на моїй чіткій установці.
initctl list
набагато приємніше, ніж ця команда dbus. Я хотів би залишити цю відповідь тут для довідки (а не видаляти її повністю).
Я використовую, initctl show-config <servicename>
щоб дійсно отримати детальну інформацію про те, коли / якщо ваша служба почнеться під час завантаження.
Так:
$ initctl show-config myservice
myservice
start on runlevel [2345]
stop on runlevel [!2345]
Або для NFS4 idmap-демон:
$ initctl show-config idmapd
idmapd
start on (local-filesystems or mounting TYPE=nfs4)
stop on runlevel [06]
chkconfig кращий лише для систем, заснованих на RedHat.
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 /
/ тощо / 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