Учитывая две программы A и B. A производит вывод. B потребляет ввод. На Linux вы можете соединить их с A | B
.
В качестве альтернативы, если я хочу разделить выполнение этих программ, я могу использовать именованный канал:
mkfifo pipe
A > pipe &
B < pipe &
Однако если Я завершаю B, A также убивается.
Есть ли способ подключить A к B, перезагружая B несколько раз? Не важно, что B теряет данные (например, во время уничтожения в следующем примере), когда не работает. Моей целью было бы следующее, но это не работает:
mkfifo pipe
A > pipe &
B > pipe &
kill B
B > pipe &
Зачем мне это нужно?
В моем случае A - это JSON выход из Wireshark, и я разрабатываю B разобрать правильные данные. Я хотел бы сделать это в интерактивном режиме, но для этого мне нужен Wireshark (или tshark
) для продолжения отправки данных.
Мне известны возможные дубликаты с this и , которые , однако мой вопрос другой. Я не забыл перенаправить А куда-то еще, я могу подготовить его заранее.