Я начал тестировать создал nlor .
Программа иногда завершалась с ошибкой, только я незнаю с какой, и она рушилась редко. Поэтому я решил этот функционал завернуть в fork. Программу пока тестирую. Может кто знает. Что будет если процесс завершиться, ну по непонятной ошибке. А именно вот это
if ( ( pid = fork ( ) ) == 0 ) {
... <---
} else {
waitpid ( pid, &status, 0 );
}