Bagaimana Saya bisa daftar semua enabled
layanan dari systemctl
?
Aku tahu berlari systemctl
perintah dengan sendirinya daftar semua layanan, tapi saya ingin hanya mendapatkan enabled
satu.
Bagaimana Saya bisa daftar semua enabled
layanan dari systemctl
?
Aku tahu berlari systemctl
perintah dengan sendirinya daftar semua layanan, tapi saya ingin hanya mendapatkan enabled
satu.
systemctl list-unit-files | grep enabled
akan mencantumkan semua diaktifkan satu.
Jika Anda ingin yang mana saat ini berlari, Anda membutuhkan systemctl | grep running
.
Gunakan yang Anda cari. Diaktifkan, tidak berarti Itu berjalan. Dan menjalankan tidak berarti itu diaktifkan. Mereka adalah dua hal yang berbeda.
Diaktifkan berarti sistem akan menjalankan layanan pada boot berikutnya. Jadi jika Anda mengaktifkan layanan, Anda masih perlu memulainya secara manual, atau reboot dan itu akan mulai.
Menjalankan berarti Itu benar-benar berjalan sekarang, tetapi jika tidak diaktifkan, itu tidak akan restart ketika Anda reboot.
man systemctl
negara:
--state=
Argumen harus berupa daftar unit yang dipisahkan koma
LOAD
,SUB
, atauACTIVE
Serikat. Saat mencantumkan unit, Tampilkan hanya unit di status yang ditentukan. Gunakan--state=failed
untuk menampilkan unit hanya gagal.
Penjelasan:
LOAD
: Mencerminkan apakah definisi unit dimuat dengan benar.ACTIVE
: Status aktivasi unit tingkat tinggi, yaitu generalisasi SUB
.SUB
: Tingkat rendah negara aktivasi unit, nilai-nilai tergantung pada jenis unit.
Meskipun Anda juga dapat menggunakan ini untuk hanya menampilkan enabled
unit dengan:
systemctl list-unit-files --state=enabled
Jika sebuah unit adalah enabled
itu berarti bahwa sistem akan memulainya saat startup. Meskipun pengaturan sesuatu untuk enabled
sebenarnya tidak juga start
sehingga Anda akan perlu untuk melakukannya secara manual, atau reboot sistem setelah pengaturan ke enabled
.
Untuk daftar semua systemd
layanan yang berada di state=active
dan sub=running
systemctl list-units --type=service --state=running
Untuk daftar semua systemd
serice yang berada di state=active
dan sub baik berjalan atau keluar
systemctl list-units --type=service --state=active
Untuk melihat layanan' diaktifkan ' termasuk ini yang masih dalam upstart/init run:
systemctl list-unit-files --type service --state enabled,generated
Untuk melihat semua layanan yang sedang berjalan berjalan:
systemctl list-units --type service --state running
Juga ikhtisar semua layanan aktif dan gagal:
systemctl list-units --type service --state running,failed
Ada aplikasi GUI yang bagus bernama Stacer di mana Anda dapat mengelola semua layanan.
Periksa tautan Github-nya Stacer Github
Juga memeriksa Web untuk info lebih lanjut
Selain jawaban saat ini, saya menggunakan yang berikut untuk mendapatkan hanya nama-nama layanan:
systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'
Daripada format tabel, ini membuatnya lebih mudah untuk menyalurkan hanya layanan tersebut ke program lain
@ Gen mengaktifkan layanan sangat berbeda dari memulainya. Lihat ‘man systemctl’.
Menarik. Jawaban dengan nilai terendah adalah jawaban yang paling “benar”, meskipun jelas bukan jawaban terbaik. Pertanyaan yang sangat bagus ini (dan jawabannya) adalah contoh menarik tentang bagaimana systemd melanggar prinsip desain Unix & Co yang sudah lama ada (dan brilian). @ FelipeAlvarez mengeluh bahwa jawaban yang paling diterima mengasumsikan systemd mengikuti filosofi desain unix, tetapi systemd/systemctl dapat melakukan apa yang dia inginkan (sebagian besar pengguna berpengalaman hanya akan menganggap bahwa mengasapi lengkap). Saya mulai melihat lebih jelas mengapa Linus Torvalds sangat kritis terhadap systemd.
apa yang dimaksud dengan enabled? Maksudmu layanan yang sedang berjalan?