Я запускаю процесс и взаимодействую с ним (некоторые действия ввода) на переднем плане, затем он работает в течение длительного времени, поэтому я включил его в bg и вышел из системы. Я хочу перенаправить сообщения об ошибках в текстовый файл, в то время как процесс в фоновом режиме, и я не подключен к машине. Как я могу это реализовать?

UPD : мне нужно перенаправить вывод, когда процесс уже запущен, потому что изначально мне нужен вывод на консоль.

3 ответа3

1

Вы можете запустить процесс в интерактивном режиме, но перенаправить сообщения об ошибках через

  my_program 2> output.txt

и теперь вы можете дождаться его вывода, взаимодействовать с ним, а затем поместить его в фоновый режим, сохраняя перенаправление стандартной ошибки.

1

SSH в, запустить процесс, а потом забыть об этом? Это звучит как работа для Tmux или экрана. Вы можете оставить процесс запущенным, отсоединиться от tmux и выйти из него без выхода.

Вы по-прежнему можете перенаправить стандартную ошибку в текстовый файл, используя 2> log.txt когда запускаете команду, и даже tail -f файла в другом окне tmux.

0

Вы хотите начать с сообщений об ошибках, поступающих (без буферизации) в текстовый файл, затем вы можете смотреть на них, как хотите (см. «Tail -f»). Предполагая, что оболочка с контролем заданий, вы можете приостановить текущее задание с помощью Ctrl-Z, а затем "bg", чтобы поместить его в фоновый режим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .