Her 48 saatte bir çalışan bir cronjonum var. Fakat ideal olarak istediğim, durduğu anda koşmaya başlaması gerektiği. Bu yapılabilir mi? Bir python komutundan oluşan bir sh betiğidir. Linux Mint 13 kullanıyorum.
teşekkür ederim
Her 48 saatte bir çalışan bir cronjonum var. Fakat ideal olarak istediğim, durduğu anda koşmaya başlaması gerektiği. Bu yapılabilir mi? Bir python komutundan oluşan bir sh betiğidir. Linux Mint 13 kullanıyorum.
teşekkür ederim
Yanıtlar:
Yapabileceğiniz bir şey python komutunu sonsuz bir döngüde çalıştırmak ve ardından cron kullanarak betiği çalıştırmaktır. Bu şekilde komut dosyası her bitirdiğinde tekrar çalıştırılır:
#!/bin/bash
while true; do ## Enter infinite loop
sleep 5; ## Wait for 5 seconds
python -c 'print("hello world")' ## Run your python command
done
Bu betiği örneğin olarak kaydedip ~/run_python.sh
çalıştırılabilir hale chmod +x ~/run_python.sh
getirirseniz ( ), @reboot
öneki kullanarak sistem önyüklemesinde bir kez çalışacak şekilde ayarlayabilirsiniz . Bu satırı crontab'ınıza ekleyin:
@reboot ~/run_python.sh
Böylece BASH betiği sistem önyüklemesinde başlayacak ve 5 saniye bekleyecek, python komutunu çalıştıracak ve süresiz olarak devam edecektir.
Daha iyi veya en azından daha fazla * nixy, bunu yapmanın bir yolu komut dosyası eklemek olacaktır /etc/init.d
.