Windowsta birçok servis bulunur bunlardan bazıları işletim sisteminin kendi servisleri bazıları ise Kurulan bazı programların çalışmasını sağlayan servislerdir mesela Bütün antivirüsler birer servis kurar
diyebiliriz , işte bazen servisler sorun çıkartabilirler , mesela durdurmaya çalıştığınız bir servis durmamakta ısrar eder veya belirli bir süre kullandığınız ve kaldırdığınız (Yada daha doğrusu kaldırmaya çalışıp başaramadığınız) bir programın servisi gereksiz yere geri planda çalışıyor olabilir bu gibi durumlarda neler yapılabilir in cevabı bu yazımızda.
Bir Windows servisi nasıl durdurulur veya durdurmaya zorlanır
Hatalı kaldırma veya herhangi başka bir sebeple bir servisi normal yollarla durduramıyorsanız ki normal yol ile neyi kastettiğimizi şöyle açıklayalım ; Çalıştır penceresine aşağıdaki kodu yazın.
services.msc
Açılan ekranda durdurmak istediğiniz servisi bulun ve üzerine çift tıklayın , Aşağıdaki örneğimizde Yazıcısı bulunmayan bir Bilgisayardaki "Yazdırma biriktiricisi Hizmeti" servisini durduracağız.
Yeni açılacak ekranda "Durdur" butonuna basalım.
Buna rağmen servis durmuyorsa veya bu arayüze erişme imkanınız yoksa ve bir kod ile servisleri durdurmak istiyorsanız (Serverlarda bu şekilde olabiliyor) bu gibi bir durumda Komut istemi dediğimiz Cmd den vereceğiniz komutlar ile servisi durdurmaya çalışabilirsiniz.
Komut istemi (Cmd) komutu ile bir servisi durdurun
Üstteki resimlerden "Durdur" butonunun yeraldığı resimde Hizmet adı , karşısında dikkat ettiyseniz Spooler yazar , bu hizmetin adıdır ve komut ile servis durdururken bu isim gerekli olacaktır.
1. Komut istemini (Cmd) Yönetici yetkilerinde çalıştırın ve servis ismini "net stop servis ismi" veya "net start servis ismi" şeklinde kullanarak servisi durdurup dilerseniz tekrar başlatabilirsiniz. Aşağıdaki ilk kod servisi durdurur , ikinci kod ise başlatır.
net stop spooler net start spooler
Üstteki kodlar uygulandığında aşağıdaki gibi bir çıktı verecektir.
Bir servisi durdurma ve başlatma işlemi için sc komutlarını da kullanabilirsiniz mesela aşağıdaki ilk komut Spooler servisini durduracak ikinci komut başlatacaktır.
sc stop spooler sc start spooler
sc komutları ile Ağdaki uzak bilgisayarın servislerini de durdurup başlatabilirsiniz.bunun için komutun
"sc \\computername [start|stop] servicename" şeklinde kullanılması yeterlidir.
Bir servisinin PID i nasıl bulunur
servisin PID ini komutla bulabilmeniz için aşağıdaki komutu kullanmanız gerekir.
sc queryex <SERVICENAME>
örneğimizde şöyle kullanılacak
sc queryex spooler
Yönetici yetkilerinde çalıştırılmış Komut isteminde kullanılan üstteki komut bize aşağıdaki gibi bir çıktı verdi.
Gördüğünüz gibi PID imiz 6532 imiş ve bunu durmaya zorlamak için aşağıdaki komut yeterli olacaktır
taskkill /f /pid PID
Kodu örneğimize uygulayalım
taskkill /f /pid 6532
Eğer erişim engellendi gibi bir hata alıyorsanız işlemi PowerRun üzerinden deneyebilir veya Process Hacker i kullanabilirsiniz.
Bir servisin başlangıç türünü komutla belirleyin
İlk resimde Spooler servisinin bağlangıç türü "Otomatik" olarak belirlenmiş bunu devre dışı veya elle olacak şekilde değiştirebilirsiniz bunun için Komut isteminden aşağıdaki komutlardan uygun olanını kullanmanız yeterlidir.
sc config spooler start= disabled sc config spooler start= auto sc config spooler start= demand
Disabled : Devre dışı
Auto : Otomatik
Demand : Elle
Bu komutların Registry de hangi değişikliği yaptığına bakacak olursak karşımıza aşağıdaki anahtar çıkacaktır.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler] "Start"=dword:00000002
0 - Başlangıç türü Önyükleme
1 - Başlangıç türü Sistem
2 - Başlangıç türü Otomatik
3 - Başlangıç türü Elle
4 - Başlangıç türü Devre dışı
Bir Windows Servisi nasıl silinir
Bir servisi durdurmak veya devre dışı bırakmak yerine tamemen de silebilirsiniz , bu silme işlemi genellikle; bir yazılımın kurulup doğru düzgün kaldırılamadığı ve servis kalıntılarının kaldığı durumlarda faydalı olabilir ,Fakat burada sileceğiniz servisi dikkatli seçmelisiniz çünkü servisi tekrar ilave etmek oldukça zor olabilir
1. Üsttede açıklandığı gibi servisin "Hizmet adı" önemlidir ve bunu kopyalayıp Komut sitemini (Cmd) Admin yetkilerinde çalıştıralım ve servis silme komutunu verelim :
sc delete ServiceName
Mesela Webcam isimli bir servisiniz olduğunu ve bunu silmek istediğinizi düşünürsek aşağıdaki komutu kullanmanız gerekir.
sc delete "Webcam"
Komut uygulandığında aşağıdaki gibi bir ekran çıktısı verecektir.
Üstteki servis durdurma , durdurmaya zorlama veya silme komutları herhangi bir durumda yardımınıza koşabilir.
- Windows servislerini yedeklemek için Scriptler Burada
- Windows servislerini varsayılan hale getirelim Burada
- VBs ile birden çok servisi durduralım - başlatalım Burada
- Gereksiz 10 servisi disable edelim Burada
- Bir yazılımı servis olarak çalıştıralım Burada
- Açılışta otomatik olarak program, script... çalıştırmak Burada
- Windows Update hizmeti bulunamıyor hatası Burada
- Easy Service Optimizer Burada
- Açılışta yüklenen ve Windowsa ait olmayan hizmetler Burada
- Windows 10 da açılışı geciktiren uygulamaları bulalım Burada
24 Mayıs 2016 Tarihli başlık güncellendi
Malesef varsa bile duymadım.
Ben diagtrack servisini silip PC'yi yeniden başlattım hiçbir sorun olmadı ama sfc/scannow yapınca gene geri yükleyecek.
bir çaresi yok mu bundan kurtulmanın
Ek bilgiler için teşekkürler
Alın size bir bilinmeyen Windows ipucusu....
Sisteminizde çalışan servislerden hangisi "Güvenli Kip Temel Windows Servisidir.?"
Bu sorunun çok basitsel uygulama cevabı vardır.
1.Windows Hizmetler açılır.
2.Herhangi bir Windows servisine sağ tıklanır .
3.Özelliklerden servisi "Geçikmeli Başlat" seçilir.
4.Üçüncü adımı tamamladığınızda Hata:87 uyarısı almıyorsanız bu servis temel windows servisi değildir.Eğer Hata:87 iletisi alırsanız o servis "Windows Temel Servisidir."
Bunu bilmeyi bende çok isterdim
hangi programın hangi servisi kullandığını nasıl bileceğiz.