script yardımı

Başlatan dhaulagiri, 16 Mart 2009 - 12:42:31

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

dhaulagiri

Selamlar,

Bu konularda biraz yeniyim ve bir kaç sorum olacak. Google da biraz araştırım ama tam olarak istediğim şeye ulaşmayı beceremedim.

1) yazdığım bir scriptle bir exe dosyası çalıştırıyorum. İşlem yaklaşık 3 saat uzunluğunda ve her seferinde başına oturup işlem bittiğinde bir sonraki veriler için tekrar çalıştırmam gerekiyor. ancak istiyorum ki ben bu exe işleminin sonlandığını okuyayım scriptle ve sonraki adıma loop içinde kendi geçsin ve takerar başlasın.

2) Bu işlem sonunda d01_2000-01-12_00:00:00 formatında bir dosyam oluşuyor. yine her seferinde kendim başlattığım bir görselleştime scripti için bu dosyayı okuyup bu scriptin otomatik olarak başlamasını isityorum.

yani her 3 saatte birinci sorumdaki işlem tamamlanacak ve o kendi işine tekrar başlayacak aynı anda işlem sonunda çıkan dosya okunup görselleştirilecek. otomatik yapamadığım kısımlar bunlar ve her 3 saatte başına gidemediğim için bu aradaki kesik noktaları birleştirmem gerekiyor.

uzun oldu kusura bakmayın ama bilginin kaynağı ihtiyaçtır şeklinde bir durum. sadece bu iş için öğrenmeye çalışıyorum, kusura bakmayın ve teşekkür ederim şimdiden.

bytan

Bu işlemleri yapmanın birden fazla yolu var. Bunlardan bir tanesi crontab kullanarak zamanlanmış bir görev belirlemeniz. Bu görev bir betik içerisinden okunabilir. Belirlenen aralıklarla işlemin bitip bitmediğine bakan ve bitmişse işlemi yeniden  başlatan bir eylem ile işlem sonucu ortaya yeni dosyanın çıkıp çıkmadığına bakan ve çıkmışsa görsel işleme alınmasını sağlayan ikinci bir eylemi bu betik içerisine yazabilirsiniz.

Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

cxerpw57

Linuxda her işlemin bir pid (process ID)'si bulunur, senin scriptin programı çalıştırdıktan sonra senin yapman gereken bu program için oluşturulmuş olan pid'i sistemden alıp bir script yada gene aynı script ile, bir döngü içerisinde belirli sürelerle kontrol etmen, eğer kontrol etmiş olduğun pid değeri 0 olur ise yanı null demek ki exe işini bitimiştir, yapman gereken script ile uygulamayı yeniden çalıştırmak olmalıdır.



While (1=1){

kontrol pid; (Sistemde o anda tanımlı pid'de process varmı)

if (pid=0)  {
   dosyalarımı görselleştir.
   exe'yi yeniden çalıştır.
   pid al;
}
else {
   bekle10 saniye
}
}

Yukarıdaki mantığı kısaca vermeye çalıştım, @bytan'ın dediği gibi crontab bu işi yapabileceğin başka bir seçenek.
Yarım hazırlıkla, yarım tedbirle yapılacak taarruz, hiç taarruz etmemekten çok daha fenadır (1922). M.Kemal ATATÜRK
http://canerblt.wordpress.com
twitter : cabulut

okanakyuz

ayrıca script ise kasıt sh ile bu işi yapmak zor olur bence de

dhaulagiri

selamlar teşekkürler cevaplar için ancak yine bi kaç sorum olacak.

sistemdeki pid kullanmak iyi fikir ancak her seferinde değişmeyecek mi bu numara? o zaman başladığında bu pidi her seferinde okuyup scripte yerleştirecek şekinde düzenlemeliyim sanırım.

crontabı root dışında çalıştıramıyorum. biraz daha araştırsam iyi olacak sanırım.

cxerpw57

aynen her seferinde almaniz gerekecek.
Yarım hazırlıkla, yarım tedbirle yapılacak taarruz, hiç taarruz etmemekten çok daha fenadır (1922). M.Kemal ATATÜRK
http://canerblt.wordpress.com
twitter : cabulut

heartsmagic

Alıntı yapılan: dhaulagiri - 17 Mart 2009 - 17:47:43
crontabı root dışında çalıştıramıyorum. biraz daha araştırsam iyi olacak sanırım.

Benim bildiğim cronatab kullanıcılara yönelik de ayarlanabiliyor.

crontab -u kullanıcı_adı -e gibi.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.