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

Cevap