Поместите фон ближе к концу, например:
./mc.x 2>&1 > test.out &
NB: ваши перенаправления неэффективны, так как 2> & 1 заставит stderr идти туда, где идет stdout (т. Е. , отображение и которое все равно идет). Затем stdout перейдет в файл test.out. Если поменять местами их порядок, все stderr + stdout перейдут в файл test.out.
Итак, сначала синтаксис, который вы пытаетесь использовать, должен выглядеть следующим образом:
./ mc.x> test.out 2> & 1
Обратите внимание на дополнительные &
в команде, которую вы пытались использовать. И да, таким образом вы не сможете отправить программу в фоновый режим.
TL; DR используйте nohup
, чтобы выполнить то, что вы хотите:
nohup 2> & 1 ./mx.c &
Таким образом программа не повесит ваш терминал и отправит оба stdout
и stderr
в файл с именем nohup.out
.