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

Как я могу запустить сценарий оболочки и немедленно запустить его в фоновом режиме, однако сохраняйте возможность проверять его вывод в любое время, задав /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.