Service Komutu Nedir?

Service komutu, bir System V başlatma komut dosyasını çalıştırmak için kullanılır . Genellikle tüm sistem V başlatma komut dosyaları /etc/init.d dizininde depolanır ve hizmet komutu, Linux altındaki arka plan programlarını ve diğer hizmetleri başlatmak, durdurmak ve yeniden başlatmak için kullanılabilir. /etc/init.d içindeki tüm komut dosyaları, en azından başlatma, durdurma ve yeniden başlatma komutlarını kabul eder ve destekler.

Bir sistem yöneticisi olarak, muhtemelen her gün birçok hizmetle uğraşıyorsunuz. Ancak Linux'ta hizmetler birçok farklı amaç için kullanılır. Debian tabanlı veya RedHat tabanlı bir dağıtım kullanıyor olsanız bile,  hizmetleri sorgulamak çok benzerdir. Ancak, kullandığınız dağıtım ve daha spesifik olarak başlatma sistemi (init veya systemd) göz önüne alındığında, farklı komutlar kullanmanız gerekebilir. Bu kılavuzda, sistem yöneticiniz verildiğinde Linux makinenizdeki tüm hizmetleri nasıl listeleyebileceğinizi öğreneceksiniz.

Ön Gereksinimler

  • sudo ayrıcalıklı kullanıcı

Syntax

Genel sözdizimi aşağıdaki gibidir:

service <service_name> COMMAND

Service komutu kullanımı

Günümüzde bildiğiniz gibi, son dağıtımlar Systemd sistem yöneticisini kullanır. Ancak eski dağıtımlar geçmişte  SysVinit sistem yöneticisini kullanıyordu. Servisleri listeleme komutlarını öğrenmeden önce, kullanmakta olduğunuz sistem yöneticisini bilmelisiniz. Mevcut sistem yöneticinizi belirlemenin en kolay yolu “pstree” komutunu kullanmak ve sisteminizde çalışan ilk işlemi kontrol etmektir.

pstree|head -1 

Yukarıda eğer "systemd" görürseniz, şu anda systemd kullanıyorsunuz demektir. Ancak “ init ” görüyorsanız SysVinit kullanıyorsunuz demektir.

Artık SysVinit sistem yöneticisini kullandığımıza göre neler yapabileceğimize bakalım. Bir SystemV init sistemindeyken Linux'ta hizmetleri listelemenin en kolay yolu, “service” komutunu ve ardından “–status-all” seçeneğini kullanmaktır. Bu şekilde, alfabetik sıralamaya göre sisteminizde eksiksiz bir hizmet listesi sunulacaktır.

service --status-all 

Gördüğünüz gibi, her hizmetten önce parantez içindeki semboller listelenmiştir. Bu semboller şu anlama gelir:

  • + : hizmetin çalıştığı anlamına gelir ;
  • – : hizmetin çalışmadığı anlamına gelir ;
  • ? : Hizmetin çalışıp çalışmadığını anlayamadığı anlamına gelir.

Sistemin bazı hizmetler çalışıp çalışmadığı anlayamaması, tamamen init betiğinin uygulanmasına bağlıdır. Bazı betiklerde, “status” komutunun kullanmadığı için bu tür durumlar olabilir.

Mevcut hizmet listesini listelemenin bir başka yolu da, bir Linux sistemindeki tüm komut dosyalarını içeren /etc/init.d dizinine bakmaktır.

ls -l /etc/init.d/* 

Servisleri listelemeyi öğrendiğimize göre, şimdi bunları nasıl yönetebileceğimize bakalım. İlk olarak hangi aksiyonlarda kullanabileceğimizi anlamak için aşağıdaki listeyi okuyalım.

Subcommand Used To
{service} status Geçerli hizmet durumunu yazdırın.
{service} start Hizmeti hemen başlatın.
{service} stop Hizmeti hemen durdurun.
{service} restart Hizmeti hemen yeniden başlatın.
{service} reload Hizmet çalışırken yapılandırma dosyalarını yeniden okuyun.

Özel bir durum olarak, servisi önce stop komutu, ardından start komutunu otomatik olarak aşağıdaki komut satırı ile gerçekleştirebilirsiniz.

sudo service <service_name> --full-restart 

Yukarıdaki seçenekleri bir servis üzerinde kolayca uygulayabilirsiniz. Aşağıdaki cron servisi üzerinde örnekleme yapılmıştır.

cron çeşitli Unix ve Unix benzeri sistemlerde iş düzenlemeye yarayan bir komuttur.

servis durdurma

crontab hizmetini durdurmak için şunu girin:

service cron stop

servis başlatma

crontab hizmetini başlatmak için şunu girin:

service cron start

servis durumu

corntab hizmetinin mevcut durumunu almak için şunu girin:

service cron status

servis yeniden başlatma

cron hizmetini yeniden başlatmak için şunu girin:

service cron restart 
Blog'a Dön