Hepsini nasıl listeleyebilirim enabled
hizmetlerimiz systemctl
?
Koşmayı biliyorum. systemctl
komutun kendisi tüm hizmetleri listeler, ancak yalnızca enabled
biri.
Hepsini nasıl listeleyebilirim enabled
hizmetlerimiz systemctl
?
Koşmayı biliyorum. systemctl
komutun kendisi tüm hizmetleri listeler, ancak yalnızca enabled
biri.
systemctl list-unit-files | grep enabled
hepsini listeleyecek etkin biri.
Şu anda hangilerinin olmasını istiyorsanız koşma, ihtiyacın var systemctl | grep running
.
Aradığını kullan. Etkin, çalıştığı anlamına gelmez. Ve çalıştırmak, etkin olduğu anlamına gelmez. Bunlar iki farklı şey.
Etkin, sistemin hizmeti bir sonraki açılışta çalıştıracağı anlamına gelir. Bu nedenle, bir hizmeti etkinleştirirseniz, yine de el ile başlatmanız veya yeniden başlatmanız gerekir ve başlayacaktır.
Çalıştırmak, şu anda gerçekten çalışıyor demektir, ancak etkin değilse, yeniden başlattığınızda yeniden başlatılmaz.
man systemctl
devletler:
--state=
Bağımsız değişken virgülle ayrılmış bir birim listesi olmalıdır
LOAD
,SUB
, veyaACTIVE
devletler. Birimleri listelerken, yalnızca belirtilen durumlardakileri gösterin. Kullanmak--state=failed
sadece başarısız birimleri göstermek için.
Açıklama:
LOAD
: Birim tanımının doğru yüklenip yüklenmediğini yansıtır.ACTIVE
: Üst düzey birim aktivasyon durumu, yani genelleme SUB
.SUB
: Düşük seviyeli ünite aktivasyon durumu, değerler ünite tipine bağlıdır.
Bunu yalnızca göstermek için de kullanabilirsiniz enabled
birimleri ile:
systemctl list-unit-files --state=enabled
Bir birim ise enabled
bu, sistemin başlangıçta başlatacağı anlamına gelir. Her ne kadar bir şey ayarlıyor olsa da enabled
aslında öyle değil start
bunu manuel olarak yapmanız veya ayarladıktan sonra sistemi yeniden başlatmanız gerekir enabled
.
Hepsini listelemek için systemd
içinde bulunan hizmetler state=active
ve sub=running
systemctl list-units --type=service --state=running
Hepsini listelemek için systemd
içinde olan serice state=active
ve denizaltı ya koşuyor ya da çıkıyor
systemctl list-units --type=service --state=active
Hala başlatma / başlatma aşamasında olanlar da dahil olmak üzere 'etkin' hizmetleri görmek için:
systemctl list-unit-files --type service --state enabled,generated
Çalışmakta olan tüm hizmetlerin çalıştığını görmek için:
systemctl list-units --type service --state running
Ayrıca tüm etkin ve başarısız hizmetlere genel bakış:
systemctl list-units --type service --state running,failed
Tüm hizmetleri yönetebileceğiniz Stacer adlı iyi bir GUI uygulaması var.
Github bağlantısını kontrol et Stacer Github
Ayrıca kontrol edin İnternet daha fazla bilgi için
Mevcut cevaplara ek olarak, yalnızca hizmetlerin adlarını almak için aşağıdakileri kullanıyorum:
systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'
Tablo biçiminde değil, yalnızca bu hizmetleri başka bir programa aktarmayı kolaylaştırır
@Gen bir hizmeti etkinleştirmek, hizmeti başlatmaktan oldukça farklıdır. `Man systemctl’ bölümüne bakın.
Büyüleyici. En düşük puan alan cevap, açıkça en iyi cevap olmasa da, en “doğru” cevaptır. Bu mükemmel soru (ve cevapları), systemd’nin Unix & Co’nun uzun süredir devam eden (ve parlak) tasarım ilkelerini nasıl ihlal ettiğinin ilginç bir örneğidir. @FelipeAlvarez, en çok kabul gören cevabın systemd’nin unix tasarım felsefesini takip ettiğini varsaydığından şikayet ediyor, ancak systemd / systemctl tam olarak ne istediğini yapabilir (çoğu deneyimli kullanıcı sadece bu şişkinliği göz önünde bulunduracaktır). Linus Torvalds’ın systemd’yi neden bu kadar şiddetle eleştirdiğini daha net görmeye başladım.
etkin derken neyi kastediyorsun? Çalışan hizmetleri mi kastediyorsun?