Структура консольного приложения на Си под Линукс
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті
Всем доброго времени суток.
Была поставлена задача написать консольное приложение на си под линукс. Интерфейс приложения должен был поддерживать текстовые комманды в терминале (типа start, stop, help, select , show и.т.д.), причем после ввода соответствующей комманды должен был прерываться основной цикл программы и выполняться соответствующая подпрограмма.
Вопрос по структуре подобных приложений.
Поскольку я с таким раньше не сталкивался то, вероятнее всего, выбрал не самый лучший вариант реализации, а именно: main -> fork -> (menu process(parent), child process(main loop)). В родительском процессе выделяется кусок общей памяти в которую попадает комманда при вводе с клавиатуры, в процессе -потомке идет выполнение основного цикла с постоянной проверкой общей памяти.
Ссылка на программу github.com/...Onanko/tcp-ip-sniffer.git
Подскажите пожалуйста альтернативные, более правильные пути реализации подобного.
33 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів