Один из вариантов - записать файл в сценарии оболочки, чтобы на каждом шаге указывать, где он находится.На вашей веб-странице используйте ajax-вызов каждые X секунд / минут.Вызов ajax вызовет скрипт PHP, который читает файл состояния и возвращает статус или выполненные шаги.
Преимущество этого подхода заключается в том, что оперативная информация страницы будет доступна для нескольких посетителей, а не только для того, которыйфактически инициировал скрипт оболочки.Очевидно, что это может быть или не быть желательным в зависимости от ваших потребностей.
Недостаток, конечно, состоит в том, что чем больше интервал ajax, тем более устаревшим будет обновление.