Нет, неправильно. Браузер посылает серверу не просто строку, а HTTP-запрос, состоящий из нескольких строк. Пока все их не прочитаешь, браузер входящие данные принимать не начнёт, а в приведённом коде считывается только первая строка запроса.
Кстати, избавиться от зомбей можно проще:
$SIG{CHLD} = 'IGNORE';
И ещё: если после демонизации происходит ошибка, то выдача сообщения может выглядеть весьма необычно (от терминала-то отвязались). Правильнее пользоваться системным логом или вести свой лог-файл.