Başladığı an sonsuza dek sürecek bir işim var. Bu yüzden "crontab -e" dosyasına girdikten ve yeniden başlattığınızda (veya) kaydettikten sonra yalnızca bir kez başlatmak istiyorum.
Bunu nasıl başarabilirim?
Başladığı an sonsuza dek sürecek bir işim var. Bu yüzden "crontab -e" dosyasına girdikten ve yeniden başlattığınızda (veya) kaydettikten sonra yalnızca bir kez başlatmak istiyorum.
Bunu nasıl başarabilirim?
Yanıtlar:
Eğer bir komut çalıştırmak isterseniz bir kez daha sonraki bir tarihte kullanmak at
komutu.
Bir komutun sistem önyüklemesinde bir kez çalıştırılmasını istiyorsanız , doğru çözüm aşağıdakilerden birini kullanmaktır:
@reboot
Özel önek ile crontab (bkz. sayfa)İkincisi, root olmayan bir kullanıcı için tek seçenektir.
at now
@reboot
.
(1) 'de ileride bir noktada iş yapmak için kullanabilirsiniz. Ancak, önyüklemede bir şey çalıştırmak istiyorsanız ve kendi başına çalışmaya devam ederse, /etc/init.d/ dosyasına bunun için bir giriş mi istiyorsunuz? Bu, önyüklemede başlatmanıza izin verir.
kill
(kendi izinleriniz için yaptığınız izinlere sahip olduğunuzu varsayarak) kullanarak durdurulabilir . Bir init betiği yapmak gerçekten çok kolay. /etc/init.d/
Çok uzun olmayan bir komut dosyasını arayın ve kendinizinkini modelleyin veya google making init scripts (your distribution)
.
/etc/init.d/skeleton
, kullanımınıza uyarlayabileceğiniz bir iskelet komut dosyası ( openSuSE üzerinde) içerir.
Sadece bir kez çalışan ve ölmesini söyleyene kadar sonsuza dek süren bir işe "daemon" denir. Normalde /etc/init.d/ içindeki init komut dosyaları ile başlatılırlar.
İşiniz bir noktada bitiyorsa ve bir defalık bir iş olarak kabul edilebilirse, at komutuna bakmak isteyebilirsiniz. Mesela ben bu gece 10'da find komutunu çalıştırmak istedim ve ben sadece bu bir kez yapardı:
$ at 10PM
at> find /root > /root/find_results.list
at> <EOT>
job 3 at 2010-02-10 22:00
At komutuna bir göz atın