Лабораторная работа №1.
Параллельный эхо-сервер.
...
pid_t pid;
int listenfd, connfd;
listenfd = socket( ... );
bind(listenfd, ... );
listen(listenfd, LISTENQ);
for (;;) {
connfd = accept(listenfd, ...);
if ((pid = fork() == 0) {
close(listenfd); /* дочерний процесс закрывает
прослушиваемый сокет */
doit(connfd); /* обработка запроса */
close(connfd); /* с этим клиентом закончено */
exit(0); /* дочерний процесс завершен */
}
close(connfd); /* родительский процесс закрывает
присоединенный сокет */
}
...