Linux'ta Systemd Altında Çalışan Tüm Hizmetler Nasıl Listelenir?


Linux sistemleri çeşitli sistem hizmetleri (süreç yönetimi, oturum açma, sistem günlüğü, cron vb. gibi) ve ağ hizmetleri (uzaktan oturum açma, e-posta, yazıcılar, web barındırma, veri depolama gibi) sağlar , dosya aktarımı, alan adı çözümlemesi (DNS kullanarak), dinamik IP adresi ataması (DHCP kullanarak) ve çok daha fazlası).

Teknik olarak hizmet, arka planda sürekli olarak çalışan ve isteklerin (özellikle istemcilerden) gelmesini bekleyen bir süreç veya süreçler grubudur (genellikle arka plan programları olarak bilinir).

Linux, genellikle bir süreç veya hizmet yöneticisi aracılığıyla hizmetleri yönetmenin (başlatma, durdurma, yeniden başlatma, sistem önyüklemesinde otomatik başlatmayı etkinleştirme vb.) farklı yollarını destekler. Tüm modern Linux dağıtımları olmasa da çoğu artık aynı süreç yöneticisini kullanıyor: systemd.

Systemd nedir?

Systemd, Linux için bir sistem ve hizmet yöneticisidir; init işlemi için, SysV ve LSB başlatma komut dosyalarıyla uyumlu olan bir drop-in yedeğidir ve systemctl komutu, bu işlemi gerçekleştirmek için birincil araçtır. systemd'yi yönetin.

Neden Linux'ta Çalışan Hizmetleri Listelemelisiniz?

Linux sisteminizde çalışan hizmetleri bilmek çeşitli nedenlerden dolayı hayati öneme sahiptir. Kaynak kullanımını izlemenize, sorunları gidermenize ve sistem performansını verimli bir şekilde yönetmenize olanak tanır. Systemd, aktif hizmetler hakkında bilgi toplamak için güçlü komutlar sunarak bu görevi basitleştirir.

Bu kılavuzda, Linux'ta Systemd altında çalışan tüm hizmetleri listeleme sürecini göstererek tüm deneyim seviyelerindeki kullanıcılara kapsamlı bir yol göstereceğiz.

Linux'ta SystemD Altında Çalışan Hizmetleri Listeleme

systemctl komutunu herhangi bir argüman olmadan çalıştırdığınızda, hizmetler de dahil olmak üzere tüm yüklü systemd birimlerinin bir listesini (systemd birimleri hakkında daha fazla bilgi için systemd belgelerini okuyun) ve durumlarını (aktif olup olmadıklarını) görüntüler. ).

systemctl 

Systemctl'deki Tüm Birimleri Listele

Sisteminizde yüklü olan tüm hizmetleri (etkin, çalışıyor, çıkılmış veya başarısız) listelemek için list-units alt komutunu ve --type anahtarını bir hizmet değeriyle birlikte kullanın.

systemctl list-units --type=service
OR
systemctl --type=service

Hem çalışan hem de çıkış yapan tüm yüklü ancak etkin hizmetleri listelemek için, aşağıdaki gibi aktif değeriyle --state seçeneğini ekleyebilirsiniz.

systemctl list-units --type=service --state=active
OR
systemctl --type=service --state=active

Systemctl'de Çalışan Hizmetleri Listele

Ancak çalışan tüm hizmetlere (yani tüm yüklü ve aktif olarak çalışan hizmetlere) hızlıca göz atmak için aşağıdaki komutu çalıştırın.

systemctl list-units --type=service --state=running 
OR
systemctl --type=service --state=running

Systemd birimleriyle ve bunların durumlarıyla ilgili temel terimleri inceleyelim:

  • Birim – Birim, bir hizmet, soket, cihaz veya diğer çeşitli varlıklar olabilir.
  • Yükle – Ünitenin yüklü olup olmadığını gösterir. Bir birim yüklenebilir ancak mutlaka etkin olması gerekmez.
  • Etkin – Ünitenin aktif olarak çalışıp çalışmadığını veya sorunlarla karşılaşıp karşılaşmadığını ve arızalı veya etkin olmayan durumda olup olmadığını gösterir.
  • ALT – Birimin belirli durumu hakkında ek ayrıntılar sağlar. Hizmetler için, hizmetin çalışıp çalışmadığını (çalışıyor), durdurulduğunu (çıkıldığını) veya sorunlarla mı karşılaşıldığını (başarısız olduğunu) belirtebilir.
  • Açıklama – Kullanıcıların, ayrıntılı yapılandırma dosyalarına girmeden ünitenin amacını tanımlamalarına ve anlamalarına yardımcı olur.

systemctl için bir Takma Ad oluşturun

Önceki komutu sıklıkla kullanıyorsanız, ~/.bashrc dosyanızda gösterildiği gibi kolayca çağırmak için bir takma ad komutu oluşturabilirsiniz.

vim ~/.bashrc

Daha sonra ekran görüntüsünde gösterildiği gibi takma adlar listesinin altına aşağıdaki satırı ekleyin.

alias running_services='systemctl list-units  --type=service  --state=running'

Değişiklikleri dosyaya kaydedin ve kapatın. Artık sunucunuzda yüklü, aktif olarak çalışan tüm hizmetlerin listesini görüntülemek için “running_services” komutunu kullanın.

running_services	#use the Tab completion 

Bir İşlemin Dinlediği Bağlantı Noktasını Bulun

Ayrıca hizmetlerin önemli bir yönü de kullandıkları limandır. Bir daemon işleminin dinlediği bağlantı noktasını belirlemek için gösterildiği gibi netstat veya ss komutunu kullanabilirsiniz.

Burada -l bayrağı tüm dinleme yuvalarını yazdır anlamına gelir, -t tüm TCP bağlantılarını görüntüler, -u tüm UDP bağlantılarını gösterir, - n, sayısal bağlantı noktası numaralarını yazdırmak (uygulama adları yerine) anlamına gelir ve -p, uygulama adını göstermek anlamına gelir.

netstat -ltup | grep zabbix_agentd
OR
ss -ltup | grep zabbix_agentd

Beşinci sütun soketi gösterir: Yerel Adres: Bağlantı Noktası. Bu durumda, zabbix_agentd işlemi 10050 bağlantı noktasını dinliyor.

Çalışan Güvenlik Duvarı Hizmetlerini Listeleme

Ayrıca, sunucunuzda, seçilen hizmetlere veya bağlantı noktalarına giden veya bunlardan gelen trafiğin nasıl engelleneceğini veya bunlara nasıl izin verileceğini denetleyen çalışan bir güvenlik duvarı hizmeti varsa, firewall-cmd<'yi kullanarak güvenlik duvarında açılan hizmetleri veya bağlantı noktalarını listeleyebilirsiniz. veya ufw komutunu (kullandığınız Linux dağıtımlarına bağlı olarak) gösterildiği gibi kullanın.

firewall-cmd --list-services   [FirewallD]
firewall-cmd --list-ports

sudo ufw status     [UFW Firewall]

Şimdilik bu kadar! Bu kılavuzda Linux'ta systemd altında çalışan hizmetlerin nasıl görüntüleneceğini gösterdik. Ayrıca bağlantı noktası hizmetinin dinlenip dinlenmediğinin nasıl kontrol edileceğini ve sistem güvenlik duvarında açılan hizmetlerin veya bağlantı noktalarının nasıl görüntüleneceğini de ele aldık.

Eklemek istediğiniz veya sorularınız var mı? Cevabınız evet ise aşağıdaki yorum formunu kullanarak bize ulaşın.