Ben her 10 dakikada bir çalışacak ve nedense bu sefer işi çalıştırmak için 12 dakika sürer bir cron işi varsa, bir önceki hala çalışırken, benim kod başka bir örneğini başlatmak cron olacak? eğer öyleyse nasıl linux üzerinde bu önleyebilirsiniz?
Varsa aslında, just kontrol yanıltıcı olabilir. Asliye ölürse, onu silmez. Aslında çalışan bir sürecin 'PID için içerik hesapları (grep ile ps aracı, burada size yardımcı olabilir) kontrol etmek gerekir.
Bu basit yaklaşım oldukça iyi çalışıyor ve bu linux X11 ve eclipse IDE gibi yaygın applicatons tarafından kullanılır.
Uyarı: birkaç örneği elle çalıştırmak olabilir eğer tüm bunları dosya yoksa aynı anda kontrol etmek için izin verecek, ve bunların her biri kendi pid ile oluşturmak ve çalıştırmak gibi bu, uygun değildir. Aslında uygulaması kendi cron işleri, bu durumda değildir ve bir daha robuts eşzamanlı kontrolü (veya Dosya Sistemi kilitleme mekanizması kullanmak kullanmak) için gerek yoktur.
Evet. Bir, bir önceki tamamlanmış değil olursa olsun, eğer cron, aralıkta bir süreç ateşlenmesine.
You can touch
bir dosya, başka bir cevap belirtti ve süreci girmeden önce varlığını kontrol gibi.
Yoksa bir "örnek" zaten çalışıyorsa görmek için süreç listesini incelemek olabilir:
ps -ef | grep *your_script_name* | grep -v grep | wc -l