Mamy skrypt, który działa na naszych serwerach internetowych, uruchamiany przez działania klienta, który inicjuje proces uniksowy w celu wygenerowania niektórych plików pamięci podręcznej. Ponieważ proces ten działa na pliki dostarczone przez naszego klienta, czasami zachowuje się nieprawidłowo, działa tak długo, że proces PHP, który go odradza, przekracza limit czasu lub zużywa tyle czasu procesora, że sysadmin go zabije.
Czy jest jakieś polecenie, które mógłbym uruchomić, które ograniczyłoby czas procesora / czas działania procesu? Szukam polecenia typu /usr/bin/time
, w którym mógłbym uruchomić to polecenie i przekazać mu wiersz polecenia Chcę, aby działało i ograniczało.
setrlimit
i spawnuję go przez PHP, więc nie mam powłoki ...time php /cgi/foo.php
, możesz użyćbash -c 'ulimit -t 42; exec "$0" "$@"' php /cgi/foo.php
.Możesz także użyć tego
timeout
polecenia, aby zablokować uruchamianie procesu przez czas dłuższy niż określony czas.przykład
Więcej informacji na stronie limitu czasu .
źródło