Я так понимаю, что если Apache остановлен, то вывод этой команды будет пуст. Верно?
Да. ps даёт список запущенных процессов, grep фильтрует этот список.
Кстати, попутно можно заглянуть в вывод
sudo netstat -antpu
и там увидеть какой порт и на каком адресе прослушивается Апачем в ожидании соединений.
P.S. Вообще, разный софт при запуске может создавать специальный файл индикатор. Файл есть - запущено, файла нет - незапущено. Обычно файл имеет в имени слово "lock". Апач должен уметь это. Сам я не интересовался этой возможностью.