Cron z Php i zawieszaj

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Awatar użytkownika
Skorpion1980
Posty: 46
Rejestracja: 14 czerwca 2008, 14:06
Lokalizacja: Jelenia Góra

Cron z Php i zawieszające się procesy

Post autor: Skorpion1980 »

Witam.
Mam taki problem.
Posiadam u siebie sporo skryptów php, które są wykonywane okresowo przez crona.

No i problem jest taki, że te właśnie skrypty potrafią się zawieszać co jakiś czas w procesach (średnio co 2-3h) i nie wykonują się. A wtedy pomaga tylko ręczne zabicie procesu.

Kod: Zaznacz cały

ps x
kill -9 <pid procesu>
Ale takie ręczne zabijanie jest troszkę uciążliwe, więc szukałem uparcie i znalazłem regułkę, która ma za zadanie sama zabić dany proces w cronie, a potem go wykonać.

Kod: Zaznacz cały

/bin/kill -9 $1
Częściowo to pomogło bo teraz skrypt zawiesza się co 6-12h. Ale jednak wolałbym aby to nie zawieszało wcale skryptów i wykonywało się zawsze bez ręcznego ubijania.
Oto mój przykładowy skrypt dla crona:

Kod: Zaznacz cały

#!/bin/bash
/bin/kill -9 $1
cd /home/user/skrypty/ #Miejsce folderu ze skryptami
/usr/bin/nice -n 15 /usr/lib/cgi-bin/php -q PLIK.PHP
Co według was jest źle?
Od razu powiem że dzięki temu forum wiele rzeczy sam zrobiłem/naprawiłem u siebie, ale z tym jednym walczę już od dłuższego czasu i przegrywam.

Pozdrawiam i za wszelaką pomoc dziękuje.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Czegoś tu nie rozumiem. To

Kod: Zaznacz cały

/bin/kill -9 $1
to po co jest? W wywołaniu skryptu basha w cronie podajesz jakiś parametr? Jeśli tak, to co podajesz, a jeśli nie to nie rozumiem sensu tego polecenia (którego sensu tak czy inaczej nie rozumiem nawet jak by ten parametr był ;-)). A druga sprawa, to skąd masz pewność że to wina systemu a nie jakiegoś błędu w samym skrypcie php (nie chodzi mi tu o np literówkę, ale o zachowanie skryptu w sytuacji przez Ciebie nie przewidzianej, lub złe podejście merytoryczne do problemu).

Tak jeszcze pomyślałem, sprawdziłeś czy czasem te skrypty nie wykonują się po prostu tak długo że uważasz to za "zawiśnięcie" skryptu ;-) ?
ODPOWIEDZ