Я хочу получить список приложений и их выходных портов для некоторого заданного списка приложений из моей программы на Си.
Я подумываю использовать что-то вроде
ss -natp | awk '/firefox/ { split($4,array,":"); printf "%d ", array[2]} END{print ""}''
, который дает мне список вроде 41477 59505
.
Какой эффективный способ вызвать ss один раз, а затем получить его для всех приложений? (Несколько выходных каналов? Существует ли оптимальный способ использовать awk для множества совпадений? Катализировать ss в файл, а затем многократно awk-вызывать его?)
Спасибо!