Saya perlu mengidentifikasi layanan yang sedang berjalan tetapi saya tidak dapat mengetahui hasil dari menjalankan service --status-all
, maksud saya apa ? , - dan + rata-rata?
$ service --status-all
[ + ] acpid
[ + ] anacron
[ + ] apparmor
[ ? ] apport
[ ? ] atieventsd
[ + ] avahi-daemon
[ ? ] binfmt-support
[ + ] bluetooth
[ - ] brltty
[ + ] console-font
[ + ] console-setup
[ + ] cron
[ + ] cups
[ + ] cups-browsed
[ - ] dbus
[ ? ] dns-clean
[ + ] friendly-recovery
[ - ] grub-common
[ ? ] irqbalance
[ - ] kerneloops
[ ? ] killprocs
[ + ] kmod
[ ? ] lightdm
[ - ] lm-sensors
[ ? ] mysql
[ ? ] networking
[ ? ] ondemand
[ ? ] pppd-dns
[ - ] procps
[ - ] pulseaudio
[ ? ] rc.local
[ + ] resolvconf
[ + ] rfkill-restore
[ + ] rfkill-store
[ - ] rsync
[ + ] rsyslog
[ + ] saned
[ ? ] sendsigs
[ + ] setvtrgb
[ ? ] speech-dispatcher
[ - ] sudo
[ + ] timidity
[ + ] udev
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] unattended-upgrades
[ - ] urandom
[ + ] virtualbox
[ - ] x11-common
Dan apakah menjalankan perintah ini dengan sudo akan membuat perbedaan? Saya mencobanya dan dalam kasus saya tidak ada bedanya, tetapi mungkin berbeda di pengaturan lain?
-
&+
akan menuju stdout, output untuk layanan yang ditandai?
akan menuju stderr.service --status-all
memberi saya 43 layanan.initctl list
memberi saya 93. Hanya segelintir dari 93 yang merupakan duplikat.Upstart
Anda menggunakan 'systemd' sekarang. Saya juga tidak lagi melihat "?" pada sistem 16.04 saya.Itu tidak didokumentasikan di halaman manual, tetapi pandangan cepat pada sumber mengkonfirmasi dugaan pertama:
+
: layanan sedang berjalan-
: layanan tidak berjalan?
: status layanan tidak dapat ditentukan (karena alasan tertentu).Kode aktual :
Syaratnya adalah:
status
perintah, maka statusnya adalah?
.status
argumen) status keluar adalah nol dan output tidak kosong, keadaannya adalah+
.-
.sumber
Saya percaya itu
+
berarti layanan aktif / berjalan,-
berarti tidak aktif / berhenti, dan?
berarti bahwa perintah tidak dapat secara meyakinkan menentukan apakah itu aktif atau tidak, karena layanan tidak memilikistatus
perintah dalam skrip layanan. Theservice --status-all
perintah benar-benar berjalanservice <service-name> status
untuk setiap layanan yang tersedia.sumber
Saya menemukan bahwa berjalan dengan / tanpa
sudo
membuat perbedaan.Beberapa layanan di hanya
/var/run/
memiliki akses baca ke pengguna root. Layanan tersebut menunjukkan status[-]
tanpasudo
, dan[+]
dengansudo
.sumber