M-xdiff-buffer-with-file
Я только что нашел его путем просмотра files.el
где я чувствовал, что существует такая команда:
Просмотрите различия между БУФЕРОМ и его связанным файлом.
Самый простой подход должен был бы использовать tee
вывести вход к и произвести от ребенка в два отдельных файла как так:
#!/bin/bash
tee in.log | child | tee out.log
Вы могли использовать tee
-a
параметр (добавляет) для записи обоих журналов в тот же файл, но я не совсем уверен, будут ли они чередованы в правильном порядке или просто записаны один за другим:
#!/bin/bash
tee -a both.log | child | tee -a both.log
Если Вы используете именованные каналы, то не имеет значения, если у Вас есть дочерние и родительские процессы:
p1:
#!/bin/sh
# p1
rm -f p1.fifo;mkfifo p1.fifo
trap "exit 1" 0 1 2 3 13 15
while read line; do
echo p1 got "$line"
echo p1 sending $line to p2
echo $line > p2.fifo
sleep 1
done < p1.fifo
p2:
#!/bin/sh
# p2
rm -f p2.fifo;mkfifo p2.fifo
trap "exit 1" 0 1 2 3 13 15
while read line; do
echo p2 got "$line"
echo p2 sending $line to p1
echo $line > p1.fifo
sleep 1
done < p2.fifo
сообщение inital:
echo message > p1.fifo
вывод p1:
p1 got message
p1 sending message to p2
p1 got message
p1 sending message to p2
вывод p2:
p2 got message
p2 sending message to p1
p2 got message
p2 sending message to p1
p2 got message