Windows Servis Oluşturma ve Başlatma

Selam Arkadaşlar,

Öncelikle kısaca şu konuya değinelim;

Windows Service Ne İşe Yarar?

Windows servisler, sisteme yaptırmak istediğimiz rutin belli başlı işlemler var ise onlar zamanlamamıza olanak sağlar. Örneğin, bir backup’ın alınması, bir uygulamanın çalıştırılması, bir uygulamanın hali hazırda çalışıp çalışmadığının kontrol edilmesi ve eğer çalışmıyor ise tetiklenmesi, vb…

İşte bu işlerin tümünü basit bir windows servis yazarak hayata geçirebiliriz.

Peki Zamanlanmış Görevler (ScheduleTask) İle Farkı Nedir?

Zamanlanmış görevler, sizin belirlediğiniz periyotta çalışır ve tekrar o periyot geldiğinde tekrar ve yine geldiğinde tekrar çalışır. Yani aslında Zamanlanmış görevler için kısaca; Uzun zaman aralıklı bir döngü diyebiliriz. Bu arada arkada uygulama çalışmaya devam etmez ve bir kere çalışıp işini bitirdikten sonra yeniden zamanı gelene kadar kapalı kalır.

Amma ve lakin, Windows service’ler bu şekilde değildir. Sizin uygulamanız (Verdiğiniz örneğin “.exe”) Windows çalıştığı müddetçe ayakta tutulur. Bu exe’nin içerisine yazacağınız her kod o an ayaktadır ve siz Stop edene ve/veya kodunuz ciddi bir hatayla kaşılaşana kadar uygulamanız ayakta kalır, çalışmaya devam eder.

Yani bir işi belli periyotlarda bir kez yaptırıp uygulamayı kapatacak iseniz Zamanlanmış görevleri (ScheduleTasks) kullanmak mantıklıdır. Ancak uygulama sürekli ayakta duracak ve işlem yapmaya devam edecek ise işte o zaman Windows Service’ler kaçınılmaz olacaktır.

Bilgisayarınız Yeniden Başlasa da Uygulama Kendiliğinden Çalışır

Diyelim ki uygulamayı bir kez manuel çalıştırdınız. Ancak daha sonra sizin bilginiz dışında bilgisayar veya sunucunuz yeniden başladı. Bu durumda windows service sizin uygulamanızı bilgisayar açılır açılmaz tekrar çalıştıracaktır. Yani uygulamanız hiç kapanmamış gibi çalışmaya devam edecektir.

Windows Servisi Ayarlamak

Gelelim uygulamamızı nasıl servis olarak atayıp çalıştırabileceğimize.

Öncelikle Başlat > Çalıştır’a tıklıyoruz. “CMD” yazıp ENTER tuşuna basıyoruz.

Açılan komut isteminde aşağıdaki şekilde servisimizin bilgilerini yazıyoruz;

sc.exe create <servisimizin_goruntulenecek_adi> binPath= "<programyolu_ve_adi>.exe"

Ardından ENTER tuşuna basıyoruz. Böylece servisimiz oluşturuldu.

 

Peki gelelim Servisimizi çalıştırmaya;

Yine aynı komut istemcisine;

sc.exe start <servisimizin_goruntulenecek_adi>

Yazıp ENTER yapıyoruz ve işte servisimiz çalışmaya başladı…

 

Son Olarak Peki Servisimizi Silmek İstersek?

 

sc.exe delete <servisimizin_goruntulenecek_adi>

 

Konu bu kadar basit. Sorularınız olursa lütfen sormaktan çekinmeyin.

Teşekkürler…

Share this Story

Related Posts

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir

Search