Вы можете использовать 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
Обратите внимание, что идентификатор назначения канала в первом процессе совпадает с идентификатором источника канала во втором процессе. Это указывает на то, что это два конца одной и той же трубы.
это номер эпохи .
Он каким-то образом переопределяет номера версий:3.0.0
< 1:1.0.0
< 2:0.1.0
и т. д. Это позволило бы разработчикам изменить свою схему нумерации, но сохранить обновления. yum
в основном печатает epoch
, но не принимает его в качестве ввода для большинства своих команд. Это может немного беспокоить, да:)