Вы можете установить пакет nethogs
, если он доступен для вашей системы. Эта команда похожа на команду top и покажет вам ваши запущенные процессы и сколько сетевого трафика они генерируют. Используйте эту последовательность команд:
nethogs
nethogs my_interface(s)
Если nethogs
недоступен, вы можете попробовать команду iptraf
, которая отсортирует соединения по их использованию. Затем вы можете найти порт и ввести lsof -i: the_suspect_port
Что ж, это не ответ на вопрос, но дает мне решение. так вот оно.
Я немного возился с правилами Udev, не смог найти ничего лучше, чем мой Arduino, постоянно появляющийся на / dev / arduino01
(будет использовать / dev / arduino02
, / dev / arduino03
, ... для других приспособлений)
Мой тестовый скрипт написан на Python, я только что обнаружил, что есть хорошая библиотека под названием pyudev , поэтому я решил взглянуть на этом маршруте.
Спустя всего несколько минут я получил
from pyudev import *
context = Context()
Arduino = Device.from_device_file(context, '/dev/arduino01')
Hub = Arduino.find_parent("usb","usb_device").find_parent("usb") #first find_parent brings me up to the USB device Arduino, another find_parent brings me to the Hub
Fixture = Enumerator(context)
for dev in Fixture.match_parent(Hub).match_subsystem('tty'):
if (dev.get('ID_VENDOR_ID')=="10c4" and dev.get('ID_MODEL_ID')=="ea60"): #I got those ID through udevadm.
powermeter=dev
if (dev.get('ID_VENDOR_ID')=="067b" and dev.get('ID_MODEL_ID')=="2303"): #I got those ID through udevadm.
temprecorder=dev
print('Arduino in on ' + str(Arduino.device_node)) #prints : Arduino is on /dev/ttyACM0
print('Powermeter in on ' + str(powermeter.device_node)) #prints : Powermeter is on /dev/ttyUSB1
print('Thermometer in on ' + str(temprecorder.device_node)) #prints : Thermometer is on /dev/ttyUSB0
. Это дает мне USB-порты трех моих устройств тестового стенда, и теперь я могу передать их в свой сценарий процедуры тестирования.
Более сообразительные между нами тогда увидят, что мой временный регистратор подключается через USB-последовательный порт pl2303, а мой измеритель мощности - через USB-последовательный порт CP2102.
udev
не имеет только серийных номеров для соответствия устройствам, вы можете использовать любое доступное свойство.
Таким образом, вы можете использовать почти все, что отличается в udevadm info / dev / ...
и udevadm info -a / dev / ...
с обоих устройств с одинаковыми серийными номерами.
Если вы можете поделиться этими выводами для каждого устройства, я могу помочь. Судя по вашему ответу, у вас уже есть поставщик / модель, отличная от той, что можно использовать в правилах udev.