Jawaban:
Jawaban cepatnya adalah: Itu tergantung pada init
sistem Anda .
Jawaban panjangnya adalah: Untuk versi Ubuntu saat ini, Anda mungkin memiliki campuran Upstart , dan SystemV . Versi Ubuntu yang lebih baru setelah 15,04 "Vivid Vervet" (dan distro Linux lainnya seperti RHEL / CentOS 7) bergerak untuk menggunakan SystemD .
Untuk membuat daftar semua layanan:
initctl list
Untuk mendaftar semua layanan pemula dan menjalankannya initctl show-config
, one-liner ini mungkin bermanfaat:
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Untuk membuat daftar semua layanan:
service --status-all
ATAU:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Untuk membuat daftar semua layanan:
systemctl list-unit-files --type=service
ATAU:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
service --status-all
TIDAK menunjukkan apakah layanan diaktifkan untuk memulai saat boot, setidaknya tidak pada Ubuntu 16. Ini menunjukkan apakah layanan sedang berjalan atau tidak.
sudo service --status-all
mendapatkan semua layanan untuk muncul. Beberapa disembunyikan ketika saya hanya menjalankan service --status-all
akun non-root.
systemctl
, service
, initctl
...) karena mereka biasanya dianggap perintah administrasi sistem.
Direktori /etc/init.d
dan /etc/rc.*
telah digantikan oleh upstart
alat init ' '. Meskipun skrip di direktori ini akan dieksekusi seperti yang diharapkan, metode baru untuk menjalankan berbagai hal di init ditentukan oleh file dalam/etc/init/
Anda dapat membuat daftar semua pekerjaan pemula dengan dengan menanyakan pemula di atas dbus:
dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs
Anda mungkin harus mengubah 0_6
untuk mencerminkan versi pemula yang Anda miliki. Perintah ini berfungsi pada instal jelas saya.
initctl list
jauh lebih baik daripada perintah dbus ini. Saya ingin meninggalkan jawaban ini di sini untuk referensi (daripada menghapusnya sepenuhnya).
Id digunakan initctl show-config <servicename>
untuk benar-benar mendapatkan detail kapan / jika layanan Anda akan mulai saat boot.
Seperti itu:
$ initctl show-config myservice
myservice
start on runlevel [2345]
stop on runlevel [!2345]
Atau untuk NFS4 idmap-daemon:
$ initctl show-config idmapd
idmapd
start on (local-filesystems or mounting TYPE=nfs4)
stop on runlevel [06]
chkconfig hanya disukai pada sistem berbasis RedHat imho.
Pada 12,04 kita bisa menggunakan:
sudo apt-get install chkconfig
chkconfig --list
tetapi dihapus pada 12.10 .
Output sampel:
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
Untuk Ubuntu 18.04 gunakan:
systemctl list-units --type=service
dari pada :
initctl
Seperti dari Ubuntu 16.04, initctl
telah digantikan oleh systemd
.
https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)
(Jika itu dapat membantu @ sanjay-manohar)
Selain layanan sistem dan skrip di bawah:
/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / system /
Mungkin ada Aplikasi AutoStart juga, misalnya:
find / -name "*autostart*"
ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart" "/usr/share/gnome/autostart"
Menggunakan 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)}}'
Output sampel:
$ 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