выполнение команды в фоновом режиме и вывод вывода на печать в файл без вывода на экран

Вы можете попробовать dcfldd
Это расширенная версия gnu dd и может выводить данные в несколько файлов или дисков одновременно:

dcfldd if=masi.img of=/dev/disk2 of=/dev/disk3 of=/dev/disk4

3
12.06.2017, 22:05
2 ответа

Поместите фон ближе к концу, например:

./mc.x 2>&1 > test.out &

NB: ваши перенаправления неэффективны, так как 2> & 1 заставит stderr идти туда, где идет stdout (т. Е. , отображение и которое все равно идет). Затем stdout перейдет в файл test.out. Если поменять местами их порядок, все stderr + stdout перейдут в файл test.out.

6
27.01.2020, 21:10

Итак, сначала синтаксис, который вы пытаетесь использовать, должен выглядеть следующим образом:

./ mc.x> test.out 2> & 1

Обратите внимание на дополнительные & в команде, которую вы пытались использовать. И да, таким образом вы не сможете отправить программу в фоновый режим.

TL; DR используйте nohup , чтобы выполнить то, что вы хотите:

nohup 2> & 1 ./mx.c &

Таким образом программа не повесит ваш терминал и отправит оба stdout и stderr в файл с именем nohup.out .

4
27.01.2020, 21:10

Теги

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