PDA

Tam Sürümünü Görmek İçin : kapanan programları otomatik başlatmak


aLeN
30/05/2007, 09:39
Ç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


dkoksal
30/05/2007, 09:42
Ö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.

aLeN
30/05/2007, 09:50
hatalı işleyiş sonucunda kapanıyor programlar. görev beklenmeyen şekilde sonlandırıldı vs. vs.

dkoksal
30/05/2007, 09:54
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.

aLeN
30/05/2007, 10:07
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

dkoksal
30/05/2007, 17:27
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

bluekid
31/05/2007, 08:58
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

dkoksal
31/05/2007, 09:24
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.