2009-05-28 19 views
9

Jeśli mam zadanie cron uruchamiane co 10 minut iz jakiegoś powodu jeden raz zajmie to 12 minut, aby uruchomić zadanie, czy cron rozpocznie kolejną instancję mojego kodu, podczas gdy poprzednia nadal działa? jeśli tak, jak można temu zapobiec w systemie Linux?Uruchamianie zadania Cron

Odpowiedz

10

Tak, będzie.

Powinieneś sprawić, by twój program tworzył plik .pid (na przykład w/var/run /). Po uruchomieniu powinien sprawdzić, czy taki plik już istnieje, a jeśli tak, to wyjść.

Który program/skrypt używasz?

+0

Używam skrypt php do wysyłania poczty. –

+0

Coś w tym stylu wystarczy, więc http://www.dreamincode.net/code/snippet2407.htm – MartinodF

+0

Czy możesz pokazać nam snajper, jak to zrobić? – oneofakind

3

Tak. Cron uruchomi proces w zaplanowanym przedziale, niezależnie od tego, czy poprzedni nie został ukończony.

Możesz wpisać touch plik, jak podano w innej odpowiedzi, i sprawdzić jego istnienie przed zaangażowaniem się w proces.

Albo można badać lista proces aby sprawdzić, czy „przypadek” jest już uruchomiony:

ps -ef | grep *your_script_name* | grep -v grep | wc -l 
Powiązane problemy