Как проверить, общаются ли два локальных процесса через сокеты или ipcs?

В спецификации ключа A -k1,2 указано один ключ , который начинается в начале первого столбца (включает ведущие пробелы, поскольку разделителем столбцов по умолчанию является переход от непустого к пустому) и заканчивается в конце второго столбца.

Важно понимать, что это всего лишь один ключ. Если вам нужны два ключа, вам понадобятся две опции -k . При сортировке sort сравнивает строку «1 50» с «1 1000» численно. Для числового сравнения эти строки преобразуются в числа с учетом начальной части (без начальных пробелов), которая выглядит как допустимое число. Итак, мы будем сравнивать 1 и 1 . Поскольку они равны, sort вернется к резервной сортировке, чтобы определить связи, которые являются лексическим сравнением всей строки.

С -n -k1,1 -k2,2 , sort сравнивает «1» с «1» , а затем поскольку это ничья, учитывает второй ключ ( «50» vs «1000» ).Поскольку это числовая сортировка, -n -k1 -k2 также будет работать (где -k1 задает ключ, который начинается в первом поле и заканчивается в конце строки, то же как полная линия).

1
05.07.2017, 20:24
1 ответ

Вы можете использовать lsof -p P1и lsof -p P2, чтобы увидеть файловые дескрипторы, открытые двумя процессами. Затем вы можете просмотреть список сокетов и каналов, которые у каждого из них открыты, и посмотреть, есть ли у кого-либо из них одинаковый идентификатор.

imac:barmar $ sleep 100 | sleep 100 &
[1] 51885
imac:barmar $ jobs -l
[1]+ 51884 Running                 sleep 100
     51885                       | sleep 100 &
imac:barmar $ lsof -p 51884 | grep -i pipe
sleep   51884 barmar    1   PIPE 0x491a6929f9ea1ca9     16384          ->0x491a6929f9e9fae9
imac:barmar $ lsof -p 51885 | grep -i pipe
sleep   51885 barmar    0   PIPE 0x491a6929f9e9fae9     16384          ->0x491a6929f9ea1ca9

Обратите внимание, что идентификатор назначения канала в первом процессе совпадает с идентификатором источника канала во втором процессе. Это указывает на то, что это два конца одной и той же трубы.

1
27.01.2020, 23:45

Теги

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