Linux’ta Servis Nasıl Durdurulur ve Aktif Edilir (systemctl)

Son doğrulama: Eylül 2026 · Ubuntu 24.04 test sunucusunda denendi

Hızlı çözüm

Linux servis durdurma aktif etme işlemi systemd tabanlı her sunucuda aynı komut ailesiyle yapılır: systemctl stop <servis> anlık durdurur, systemctl start <servis> yeniden başlatır, systemctl enable <servis> sunucu yeniden başladığında otomatik açılmasını sağlar, systemctl disable <servis> bu otomatik açılışı kapatır.

  1. Önce systemctl status <servis> ile servisin şu anki durumunu görün.
  2. Durdurmak için sudo systemctl stop <servis>, yeniden başlatmak için sudo systemctl restart <servis> çalıştırın.
  3. Açılışta otomatik başlamasını sudo systemctl enable <servis> ya da disable <servis> ile ayarlayın.
Panel Yok — VPS/VDS yönetimsizdir; işlem işletim sistemi üzerinden yapılır
Sistem systemd tabanlı dağıtımlar: Ubuntu 22.04/24.04, Debian 12, AlmaLinux 8/9, Rocky 9
Yetki Sunucunuzun root ya da sudo yetkili kullanıcısı
Narhost ürünü VPS Sunucu, VDS Sunucu

Başlamadan önce

  • Sunucunuzda root ya da sudo yetkiniz olsun.
  • Durduracağınız servisin adını tam olarak bilin; systemctl list-units --type=service ile mevcut servisleri listeleyebilirsiniz.
  • Servis canlı trafiği karşılıyorsa (web sunucusu, veritabanı) durdurma anında kesinti yaşanacağını göz önünde bulundurun.

Linux Servis Durdurma ve Aktif Etme Ne İşe Yarar

Linux servis durdurma aktif etme ihtiyacı en çok üç durumda ortaya çıkar: bir yapılandırma değişikliğinden sonra servisi yeniden başlatmak, kaynak tüketen ya da hatalı çalışan bir servisi geçici olarak kapatmak, ya da kullanılmayan bir servisin sunucu her açıldığında otomatik başlamasını engellemek. Modern dağıtımların tamamı systemd kullanır; servisler (birim/unit olarak adlandırılır) systemctl komutuyla yönetilir.

İki farklı durum birbirine karıştırılmamalı: active/inactive servisin şu anda çalışıp çalışmadığını, enabled/disabled ise sunucu yeniden başladığında otomatik açılıp açılmayacağını gösterir. Bir servis aktif ama devre dışı (disabled) olabilir; bu durumda çalışmaya devam eder ama sunucu yeniden başlarsa kendiliğinden açılmaz.

Linux servis durdurma aktif etme akış şeması — durum görüntüleme, durdurma/başlatma, otomatik başlatma ayarı ve servis listeleme adımları
Durum kontrolünden listelemeye dört adım: systemctl ile servisi yönetin.

Adım Adım Servis Durdurma ve Aktif Etme

1. Servisin Durumunu Görüntüleyin

  1. Servisin şu anki durumunu sorgulayın:
    systemctl status cron

    Beklenen sonuç (test sunucusunda alınan gerçek çıktı): ● cron.service - Regular background program processing daemon, Loaded: loaded (...; enabled; preset: enabled), Active: active (running) since ..., Main PID: 1305 (cron). “Loaded” satırındaki enabled açılışta otomatik başladığını, “Active” satırındaki active (running) şu an çalıştığını gösterir.

2. Servisi Durdurun, Başlatın ya da Yeniden Başlatın

Dikkat

Bir servisi durdurmadan önce ona bağımlı başka bir servis olup olmadığını kontrol edin (systemctl list-dependencies <servis>); örneğin bir web uygulaması veritabanı servisine bağımlıysa, veritabanını durdurmak uygulamayı da çökertir.

  1. Servisi durdurun:
    sudo systemctl stop <servis>

    Beklenen sonuç: komut sessizce biter; systemctl status <servis> artık “Active: inactive (dead)” gösterir.

  2. Servisi başlatın:
    sudo systemctl start <servis>

    Beklenen sonuç: komut sessizce biter; durum tekrar “Active: active (running)” olur.

  3. Yapılandırma değişikliğinden sonra yeniden başlatın:
    sudo systemctl restart <servis>

    Beklenen sonuç: servis durdurulup yeniden başlatılır; yalnızca ayar dosyasını yeniden okutmak yeterliyse systemctl reload <servis> kesintisiz çalışır (her servis desteklemez).

3. Açılışta Otomatik Başlamayı Ayarlayın

  1. Şu anki ayarı görün:
    systemctl is-enabled ssh

    Beklenen sonuç (test sunucusunda alınan gerçek çıktı): disabled. Bu, SSH’ın şu an çalıştığı (systemctl is-active ssh “active” döner) ama sunucu yeniden başladığında systemd tarafından otomatik açılmayacağı anlamına gelir; bazı dağıtım imajlarında SSH soket etkinleştirmeyle açılır ve bu satır normaldir.

  2. Otomatik başlamasını açın ya da kapatın:
    sudo systemctl enable <servis>sudo systemctl disable <servis>

    Beklenen sonuç: enable “Created symlink …” mesajı verir; disable ilgili symlink’i kaldırır. systemctl is-enabled <servis> ile sonucu doğrulayın.

4. Çalışan Tüm Servisleri Listeleyin

  1. Sunucudaki aktif servisleri toplu görün:
    systemctl list-units --type=service --state=running

    Beklenen sonuç (test sunucusunda alınan gerçek çıktı, kısaltılmış): cron.service loaded active running, rsyslog.service loaded active running, ssh.service loaded active running, systemd-journald.service loaded active running — boş bir VDS’te bile systemd, günlükleme ve zamanlanmış görev servisleri her zaman çalışır.

Doğrulama

Sonuç

systemctl status <servis> çıktısında “Active” satırı beklediğiniz durumu (running ya da dead) gösteriyorsa ve systemctl is-enabled <servis> istediğiniz açılış davranışını (enabled/disabled) doğruluyorsa işlem tamamlanmıştır.

Hâlâ Çözülmediyse

  • “Unit not found” hatası alıyorsunuz. Servis adını yanlış yazmış olabilirsiniz; systemctl list-units --type=service --all ile tam adını bulun.
  • Servis durduruldu ama uygulama hâlâ hata veriyor. Sunucunuz genel olarak yavaşlıyor olabilir; CPU ve RAM kullanımını top/htop ile izleyin.
  • “Failed to restart” hatası veriyor. Yapılandırma dosyasında hata olabilir; servise özel log’u journalctl -u <servis> -n 50 ile inceleyin.
  • Disk doluluğundan servis başlamıyor. Önce disk kullanımını denetleyin.

Narhost desteği

Talebe şunları ekleyin: sunucunuzun IP adresi, işletim sisteminiz, durdurmaya/başlatmaya çalıştığınız servis adı ve systemctl status <servis> çıktısının tamamı.

Destek talebi aç

Sıkça sorulan sorular

systemctl stop ile kill arasındaki fark nedir?

systemctl stop servisi kendi kapanma prosedürüyle (SIGTERM, ardından gerekirse SIGKILL) düzgün şekilde sonlandırır; kill komutuyla süreci doğrudan öldürmek açık dosya ve bağlantıların düzgün kapanmasını atlayabilir.

Servisi disable ettim ama hâlâ çalışıyor, neden?

disable yalnızca açılıştaki otomatik başlamayı kapatır, çalışan servisi durdurmaz. Servisi anında kapatmak için ayrıca systemctl stop <servis> çalıştırmanız gerekir.

mask komutu ne işe yarar?

systemctl mask <servis>, servisi /dev/null‘a bağlayarak hem manuel hem de başka bir servis tarafından tetiklenerek başlatılmasını tamamen engeller; disable‘dan daha katıdır ve geri almak için unmask gerekir. Tüm alt komutların tam listesi systemctl’in resmi man sayfasında yer alır.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: systemctl

İlgili çözümler