Как раз таки в винде все нормально. Там можно просто завершить процесс. А вот с линуксом проблемы, чего я не ожидал.
Ни каких проблем kill и все, проще чем в винде;)
Если делать с условной компиляцией и пр., то можно потерять кроссплатформенность.
Это как, один участок кода для винды другой для линукса и т.д.
Архитектура то разная и без ее учета ни чего путного не получится, даже самый легкий web сервер не способный работать как служба или демон не имеет практического смысла...
У меня есть несколько серверов в интернете, хотел я твой web сервер на одном из них запустить и небольшой, но относительно посещаймый сайтик на него перенсти, посмотреть как под нагрузкой будет себя вести и сразу же обломался ибо он будет работать только пока шел запущен...