Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Crystall0n
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 16
#1

После завершения процесса он остается в режиме ожидания - C++

02.06.2016, 11:06. Просмотров 137. Ответов 1
Метки нет (Все метки)

Доброго времени суток!
Написал небольшую консольную програмку на C++, работает под убунтой, задача ее простая - читать данные из com порта(ttyUSB) и передавать их по http на сервер, а также по тому же http принимать от сервера команды для передачи в com порт и собственно передавать их. С задачей мое "творение" справляется без особых проблем на протяжении уже довольно длительного времени, но есть раздражающий момент который проявляется только иногда, условий при которых это происходит я не знаю, но суть в следующем - при завершении программы если смотреть через htop она остается висеть в процессах с меткой D("состояние ожидания") и нулями в колонках "используемая память", "подкачка". Т.е. вроде как программа больше не занимает оперативку и процессор на себя не отвлекает, но в тоже время она и не закрылась до конца, в следствии чего при попытке открыв ее повторно подключиться к com порту ничего из этого не выходит, на сколько я понимаю предыдущий процесс оставил его "забитым" за собой или что-то вроде того, и это не смотря на то что я использую флаг O_NONBLOCK при открытии com порта. dmesg же при этом не показывает ничего нового, никаких отключившихся устройств ttyUSB, никаких ошибок по ним итп.
Заранее спасибо за любые идеи с чем пожет быть это связано или как можно продиагностировать источник данной проблемы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2016, 11:06     После завершения процесса он остается в режиме ожидания
Посмотрите здесь:

C++ Как получить код завершения процесса
Что является причиной ошибки после завершения всех операций? (динамический массив) C++
C++ Собственные проекты (.exe) закрываються после завершения задачи
C++ Вылет программы после завершения
Востановление состояния программы после завершения C++
C++ Ошибка после завершения программы. Двоичные файлы. Структуры
Код завершения процесса C++
C++ После выполнения (завершения) функции test переменная умрет, а что будет с переменной в Result?
C++ Ошибка завершения программы после "return 0"
Защита процесса от завершения C++
Состояние кучи после завершения приложения C++
C++ Не меняет адресс массива после завершения функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4456 / 3794 / 1282
Регистрация: 14.04.2014
Сообщений: 14,901
02.06.2016, 14:38     После завершения процесса он остается в режиме ожидания #2
Неправильно завершается, наверное.
Yandex
Объявления
02.06.2016, 14:38     После завершения процесса он остается в режиме ожидания
Ответ Создать тему
Опции темы

Текущее время: 12:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru