Intereting Posts
VirtualBox 5.1 не запускается на Kali Linux 2016.2 Каков канонический способ найти фактическую максимальную длину списка аргументов? Какой модуль edac следует включить здесь? Каков самый простой способ рисовать графику на фреймбуфере Linux? корневая файловая система на устройстве nvme Копирование файлов в bash как полностью пустой видеовыход при загрузке (без регистрации ядра, вывода grub и т. д.) Можно ли добавить пароль для перемещения или копирования определенных файлов в Linux? Как применить org-todo к нескольким элементам Как загрузиться с помощью grub2 rescue promt в систему UEFI? Использование минимального хоста linux для виртуальных машин OSX и W7 Как отобразить владельца, группы и разрешения для пользователя в bash? Как установить pdfedit на Debian Jessie? Что действительно вызывает эта команда? Как проверить, обрезаны ли аудиофайлы без воспроизведения файла?

Связь с устройством теряется при запуске сети при загрузке?

У меня есть приложение, которое открывает сокет на порту 4444 на устройство (/ dev / linkToDevice). «LinkToDevice» – это ссылка на ttyUSB0. Приложение представляет собой программу на C ++, которая теперь является демоном и запускается при загрузке. Демон запускается независимо от сети. Поэтому, когда загружается linux box, и нет сети, демон запускается немедленно, и пока сети не существует, я могу прекрасно общаться (telnet localhost 4444). Но, когда я подключаю сетевой кабель, или dhclient определяет, что нет DHCP и арендует мне ip-адрес по умолчанию, или просто просто передаю ему ip-интерфейс, я больше не могу общаться. Тем не менее, я могу открыть telnet-соединение, я просто не получаю ответа, когда я запрашиваю его.

Я использую 0.0.0.0 в качестве ip, чтобы открыть сокет (обозначая любой IP-адрес). Я не чувствую, что это проблема с кодом.

Нечетная часть для меня заключается в том, что после того, как я больше не могу общаться, если я перезапущу демона, все отлично работает, что и ожидается. Но когда я отключу сеть или отмените настройку интерфейса, или перезагрузите sudo /etc/init.d/networking, или каким-либо другим способом, который приведет к сбою и резервному копированию сети, через весь этот процесс я никогда не теряю связь с устройство. Так что проблема ТОЛЬКО случается, когда я загружаю машину без сети, чтобы начать, а потом я вдруг получаю сеть. Любые мысли о том, почему это происходит только при загрузке?

«В основном мне нужно знать разницу между получением интерфейса eth0 в первый раз после загрузки без сети и перезапуском сети для повторного получения интерфейса eth0 после того, как раньше был установлен. Код работает для последнего».

Прежде чем вы подходите к этому пути, исключите синонимы высокоуровневой сетевой службы («NetworkManager»). Я всегда отключил его и просто вставлял команды в процесс загрузки в какой-то подходящей точке (например, ifconfig eth0 up && dhclient eth0 ), затем вручную запускал другие простые скрипты для переключения с eth на wifi и т. Д. NetworkManager – гигантский осьминог автоматизации, который несомненно, очень полезен, если вы не знаете, что такое «интерфейс» или ходит с ноутбуком, пытающимся бродить по Wi-Fi-сетям, но если вы предпочитаете просто включать и выключать вещи самостоятельно, это может вызвать раздражающие и таинственные выбор. Я признаю, что никогда не узнал, как настроить его на том основании, что инструмент высокого уровня, который сложнее использовать для выполнения конкретной задачи, чем инструменты низкого уровня, которые он «управляет», не является подходящим инструментом в контексте этой задачи.

Если это не ясно:

когда я отключу сеть, или отконфигурируйте интерфейс, или перезапустите sudo /etc/init.d/networking

/etc/init.d/networking означает, что система .deb (.rpm использует /etc/init.d/network ). Отключите эту (и / или соответствующую службу upstart в системах, использующих выскочку), чтобы она не запускалась при загрузке и не заменяла ее любыми простыми командами, которые вам нужны для доступа к вашей сети где-то в конце процесса загрузки. Если он существует, я также прокомментирую все в /etc/network/interfaces кроме lo.

Обычно я не рассматривал бы этот хороший совет для раздачи другим пользователям, но твоя проблема для меня просто кричит: «Бетча – это гигантский осьминог», – что вам нужно, чтобы это было, прежде чем оглядываться.