Tam Sürümünü Görmek İçin : kapanan programları otomatik başlatmak
Çoğu kitapta araştırdım ama bir türlü bir sonuç elde edemedim.
Sorun şu: elimde bir adet windows 2003 server var bazen öyle şeyler oluyoki serverda çalışan program hata verip kapanıyor. Kapanıncada tüm siteler kapanıyo yada hata veriyor
Ben bu kapanan programları takip edecek ve kapandığı anda otomatik başlatacak bir program yazmak istiyorum .
Ama bir .dll uzantılı dosyanın yada .exe uzantılı bir programın kapanıp kapanmadığını nasıl takip edebilirim. Bunun takibatını nasıl yaptırabilirim.
Şimdiden teşekkür ederim
Öncelikle yeninden açılması gerektiğini anlamak için uygulamaların neden kapandığını anlaman gerekir. Yönetici kullanıcı tarafından düzgün bir şekilde kapanan program ile hatalı işleyiş sonucu kapanan programı ayırt etmen gerekiyor.
hatalı işleyiş sonucunda kapanıyor programlar. görev beklenmeyen şekilde sonlandırıldı vs. vs.
ikinci gereksinim olarak uygulamaları bir yönetici program içerisinden başlatman, kapandıkları zaman ne şekilde yeninden çalıştırılması gerektiğini bir şekilde tanımlamış olman gerekiyor.
o sorun değil takip etmesi için programın tam yolu sisteme girilecek sadece sisteme girilen program takip edilecek. dolayısı ile program yolu belirli olduğu için otomatik olarak o yoldan geri başlatılabilir.
acehreli
30/05/2007, 15:30
Programinin yaninda bir de "bekci" program calistiracaksin. Bu tur programlara Ingilizce'de "watchdog" deniyor. Bu bekci programin gorevi, belirli araliklarla (1sn? 5sn?) asil programin calisip calismadigini denetleyecek ve calismadigi an tekrar baslatacak.
Bu yontemi kullanan virus programlar da var. Windows'da virusu oldurursun, tekrar calismaya baslar. :) Onun icin once bekcisini oldurmek gerekir.
Linux ortaminda komut satirlarindaki pid'nin esdegeri bir islev cagirabilirsin. Tam yontemi simdi hatirlamiyorum. :(
Ali
Aslında programların neden down olduğunun nedenleride araştırılmalı öncelikle. Varsa düzgün versiyonuna geçilip eski versiyonlar arşive kaldırılmalı derim.
quasimodo
30/05/2007, 18:41
Bu bekci kopegi mikroislemciler dersinde cok kullaniliyor.
(Finalide yaklasti bu arada)
Linux ortaminda komut satirlarindaki pid'nin esdegeri bir islev cagirabilirsin.
Ali
pid nedir?
acehreli
31/05/2007, 00:58
Yanlis hatirliyorum tabii: pid degil, pidof olacak. pid "process identifier" demek; pidof da "process identifier of ..."
Bir programin isletim sistemi tarafindan verilen numarasini almak icin kullaniliyor. Ornegin
> pidof emacs
1714 8759
Yani benim sistemimed iki tane emacs calisiyormus ve pid'leri onlarmis. Windows'da da kesin olmali boyle bir sey...
Ali
1) EnumWindows (http://simplesamples.info/Windows/EnumWindows.php) ile çalışan programların listesini alabilirsin
2) yada CreateProcess ile O pogramları kendin çalıştırıp Kapanışını kontrol edebilirsin
hocam, finallerde allah kolaylık versin hepinize, üni yıllarımı hatırladım, tempo oldukça hızlıdır şimdi.
pidof ile ilgili kullanım klavuzuna buradan (http://www.die.net/doc/linux/man/man8/pidof.8.html) erişebilirsiniz.
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.