запустите сценарий оболочки и сразу же запустите его, однако сохраните возможность проверить его вывод

Как я могу запустить сценарий оболочки и немедленно запустить его в фоновом режиме, однако сохраняйте возможность проверять его вывод в любое время, задав /tmp/output.txt

Было бы неплохо, если бы я мог опередить процесс слишком поздно.

PS Было бы здорово, если бы вы также могли показать мне, как "отправить" фоновый процесс на экран GNU, который может быть инициализирован или нет.

Ответы

Ответ 1

Чтобы "фон" процесс, когда вы запускаете его

Просто добавьте амперсанд (&) после команды.

Если программа пишет в стандартный поток, она все равно будет записывать данные на вашу консоль/терминал.

Чтобы вывести процесс на первый план, просто используйте команду fg.

(Вы можете увидеть список заданий в фоновом режиме с помощью jobs.)

например:

sh -c 'sleep 3 && echo I just woke up' & jobs

Чтобы создать фон для текущего запущенного процесса

Если вы уже запустили процесс на переднем плане, но хотите переместить его на задний план, вы можете сделать следующее:

  1. Нажмите Ctrl + z, чтобы перевести текущий процесс в спящий режим и вернуться в свою оболочку. (Этот процесс будет приостановлен, пока вы не отправите ему другой сигнал.)
  2. Запустите команду bg, чтобы возобновить процесс, но запустите его в фоновом режиме, а не на переднем плане.

Ответ 2

Другой способ - использовать команду nohup с & в конце строки.

Примерно так

nohup whatevercommandyouwant whateverparameters &

Это запустит его в фоновом режиме и отправит вывод в файл nohup.log.