В общем, нет, не без какого-либо флага, показывающего, что делает программа, с указанием флага при запуске процесса. (Если вы сделаете его подробным, также обязательно поместите его в сеанс screen
или tmux
, чтобы вы могли повторно подключиться к нему при необходимости ...)
Некоторые утилиты ( например, dd
) принимает сигнал пользователя для переключения детализации (например, через сигнал USR1
, pkill -USR1 dd
), но это зависит от приложения ( USR1
по умолчанию просто убивает процесс; используйте с осторожностью).
Косвенные указания - это еще один метод, например запустите top
, предполагая, что процессы генерируют достаточную нагрузку на ЦП или ввод / вывод, чтобы выделить его (то, что ожидает результатов сети, может показаться, что мало что делает).
Также возможно отслеживание процессов, хотя это может сильно замедлить работу системы (например, strace
); менее дорогостоящими инструментами для такой проверки могут быть dtrace
или аналогичный, который может брать образцы и сообщать сводку о том, сколько соответствующих системных вызовов chmod
делает за определенное время.
Вы создаете сетевые интерфейсы, которые могут отправлять и получать пакеты, поддерживаемые некоторой программой (которая, в вашем случае, будет каким-то образом связана с GNU Radio), используя tun/tap интерфейс.
Цитирую по Documentation/networking/tuntap.txt
в исходном тексте ядра:
TUN/TAP обеспечивает прием и передачу пакетов для программ пользовательского пространства. Его можно рассматривать как простое устройство Point-to-Point или Ethernet, которое, вместо приема пакетов с физического носителя, получает их от программы пространства пользователя и вместо отправки пакетов через физический носитель записывает их в программу пространства пользователя.
Для использования драйвера программа должна открыть
/dev/net/tun
и выпустить соответствующий ioctl() для регистрации сетевого устройства в ядре. Сетевое устройство будет отображаться какtunXX
илиtapXX
, в зависимости от выбранных опций. Когда программа закрывает дескриптор файла, сетевое устройство и все соответствующие маршруты исчезнут.В зависимости от типа выбранного устройства программа пользовательского пространства должна читать/писать IP-пакеты (с tun) или кадры ethernet (с tap). Какой из них используется зависит от флагов, заданных в ioctl().
Пакет от http://vtun.sourceforge.net/tun содержит два простых примера использования устройств tun и tap. Обе программы работают как мост между двумя сетевыми интерфейсами.
br_select.c
- мост, основанный на системном вызове select.
br_sigio.c
- мост на основе async io и сигнала SIGIO.Однако лучшим примером является VTun http://vtun.sourceforge.net
Также смотрите этот вопрос на stackoverflow. Множество руководств можно найти в google.