sebax3x
22.03.2010, 07:41:51
Jak w temacie, najprostszym rozwiązaniem wydawałby się restart serwera - niestety nie mogę tego zrobić, serwer nie ma ustawionego limitu czasowego na wykonanie skryptu.
Czy istnieje jakaś zewnętrza możliwość zatrzymania takiego skryptu z poziomu php?
phpion
22.03.2010, 07:58:10
Zabicie procesu. Jeśli jednak i tego nie możesz zrobić to można doprowadzić skrypt do wysypania się. Jeśli operuje na bazie danych można np. doprowadzić do duplikacji klucza głównego, jeśli robi coś na pliku można usunąć plik lub zmienić mu uprawnienia. Bez wiedzy na temat zapętlonego skryptu nie można za bardzo nic więcej powiedzieć.
thek
22.03.2010, 09:38:45
Jak wspomniał phpion -> najlepiej doprowadzić do sytuacji anormalnej skryptu, co spowoduje błąd i zatrzymanie się skryptu. Jeśli masz dostęp do serwera i jest to jeden skrypt to sprawa z głowy. Zależnie od systemu wrzucasz w konsolę tasklist (windows) lub top (linux) i sprawdzasz pid (process ID) a potem taskkill lub kill (znów zależnie od systemu). Jeśli skrypt jest rekurencyjny i wywołuje sam siebie to będziesz musiał kombinować z killowaniem grupy procesów po masce nazwy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.