Через какое-то время пишет - "Убито". Если запускать скрипт не фоном, то отрабатывает без ошибок.
Не могу сказать наверняка, но есть подозрение, что срабатывает ограничение на время выполнения PHP-скрипта, предусмотренное на случай "зависания" скриптов. Срабатывает оно только на скрипты запущенные с веб-сервера, когда Вы запускаете PHP из консоли/терминала - такого ограничения нет. Настраивается в php.ini, директива max_execution_time. Если выставите "0", получите скрипты способные работать бесконечно и способные наглухо повесить систему :)