Может ли чтение STDIN конфликтовать со многими записями из разных процессов? [закрыто]

0
21.02.2018, 07:31
1 ответ

No hay "STDIN de A" útil en este escenario. El STDIN es siempre el de su aplicación . a, b y c escriben en su STDOUT, los paréntesis los juntan y la canalización conecta el resultado a la STDIN de su aplicación. Donde, sí, todos esos STDOUT pueden entrar en conflicto (uno tras otro, no entrelazados ).

( a ; b; c ) | yourapp

o

( a && b && c ) | yourapp

No está claro si tiene a, b y c dentro de un script de shell ("el script de shell de esa aplicación" )y si es el mismo script para todos. Si no es así, entonces los scripts son sus "aplicaciones" y se encuentra en el escenario anterior. Si es así, debe tener algo como

while...; do
    read something
    a
    b
    c
done

En el escenario anterior, la "lectura" leerá el STDIN común de la aplicación externa, nuevamente en orden, posiblemente bloqueando si no hay nada que leer, pero no veo cómo A puede insertar algo allí.

No estoy seguro, pero sospecho que este podría ser un caso en el que las canalizaciones con nombre o los intermediarios de mensajes podrían resultar útiles.

1
28.01.2020, 02:43

Теги

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