Merhaba,
python ile yazdığım ve tek başına sorunsuz çalışan scriptimin sonuna bir at
scheduler ekleyerek dinamik
olarak değişken zamanda (aşağıdaki örnekte test amaçlı sabit 1 dakika
görünüyor) dosyanın kendi kendini tekrardan çalıştırmasını amaçlıyorum. Dediğim
gibi süre değişken olacağı için "cron" yerine "at" kullanmak durumundayım.
Ancak sanırım at sadece sh kabuğu üzerinde çalıştığından python dosyamı
çalıştırmıyor ve exim bana hata mesajı gönderiyor. Dosyanın sonundaki fazladan
zamanlama kodu şöyle:
mycmd = "at -f /home/pi/member/15210858/file.py now + 1 minute 2> /dev/null"
os.system(mycmd)
Dosya çalıştığında hemen hata almıyorum ve atq ile görevi kontrol ediyorum
zamanlanmış iş kuyrukta bekliyor. Ancak çalıştıktan sonra /var/mail/pi altına
düşen hata aşağıda:
sh: 33: import: not found
from: can't read /var/mail/urllib2
sh: 36: Syntax error: "(" unexpected
Belli ki python scriptinin başındaki import tanımsız. Sh kabuğu meselesinden
olabileceği düşüncesiyle içeriği aşağıdaki gibi python scriptini adresleyen bir
file.sh dosyası hazırlayıp zamanlayıca da file.py yerine file.sh'i çalıştır
dedim, o da fayda etmedi aynı hata geri geldi.
#/usr/bin/sh
python /home/pi/member/15210858/file.py
İşi pythona bırakmadan time.sleep() ile threadi sürekli açık tutmadan veya
başka elle yazılmış zamanlayıcılarla uğraşmadan isletim sisteminin bunu
yapmasıni istiyorum. Neyi atlıyorum?
Teşekkürler.
Cumhur SARAÇ
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php