владелец порта переключился в netstat после завершения процесса

Если разделяемая библиотека, от которой вы зависите, установлена в /usr/local/lib, а не в /usr/lib (или подобном), то я подозреваю, что она не является частью какого-либо пакета, управляемого менеджером пакетов dpkg. dh_shlibdeps хочет составить полный список всех вещей, от которых будет зависеть ваш новый пакет, но в данном случае одна из этих вещей, похоже, существует вне какого-либо пакета, поэтому она не может быть включена в список.

Вы должны установить OpenCV из пакета Debian (плюс соответствующий пакет -dev, чтобы вы могли собирать на его основе), а не из локальной установки.

2
16.08.2017, 18:15
1 ответ

Похоже, проблема заключалась в том, что процесс udhcpcбыл порожден моим процессом my_app.bin.
В этом порождении порожденный процесс наследует все дескрипторы открытых файлов my_app.bin. Поэтому, когда я закрываю сокет из my_app.bin, он не закрывается из udhcpc.

Решения:

  1. Используйте O_CLOEXECпри открытии сокета или fcntl()с флагом FD_CLOEXECпозже.
  2. В созданном процессе закройте все ненужные дескрипторы открытых файлов.

В моем случае я не контролирую udhcpc, поэтому мне нужно использовать номер опции 1.

1
27.01.2020, 22:18

Теги

Похожие вопросы