Как брать/выпускать управление вывода?

У меня есть два параллельных процесса, выполняющие сценарий оболочки, каждый будет время от времени печатать к stdout с помощью эха. Но иногда вывод может перепутанный. Существует ли способ взять эксклюзивное использование stdout, затем выпустить его?

0
задан 9 August 2014 в 01:58

1 ответ

Я не понимаю точно Вашего намерения, но я предполагаю, что у Вас есть два процесса, отправляющие их вывод в stdout, и Вы хотите контролировать только одного из них за один раз.

Мое предложение должно было бы иметь каждую запись процесса в свой собственный файл вместо stdout. Если Вы не хотите переписывать свой сценарий, можно было просто все произвести для процесса, перенаправленного с помощью> только для стандартного вывода или &> для всего вывода, включая stderr.

, Таким образом, Вы могли выполнить свое использование процессов:

$./proc1 &> proc1.out
$./proc2 &> proc2.out

Теперь, если Вы хотите контролировать вывод одного из процессов, используйте команду хвоста со 'следовать' опцией:

$ tail -f proc1.out

, Если Вы хотите видеть вывод от обоих процессов одновременно на stdout, используйте:

$ tail -f proc1.out -f proc2.out
0
ответ дан 7 October 2019 в 09:34

Другие вопросы по тегам:

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