Как я могу увидеть консоль вывода после выполнения команды nohup?

У меня есть код, работающий на сервере Linux. Поскольку на выполнение требуется несколько часов, я должен использовать nohup, чтобы убедиться, что мой код все еще работает, на случай, если я потеряю соединение с сервером. Опять же, поскольку мне приходится часами ждать, чтобы увидеть результаты, я определил счетчик для вывода информации о ходе выполнения моего кода (%). Если я потеряю соединение с сервером или закрою терминал, единственный способ увидеть, что код все еще работает, - это использовать top. Могу ли я снова увидеть консоль вывода (сообщение, показывающее прогресс)?


person MTT    schedule 05.02.2015    source источник
comment
Почему бы не использовать экран GNU, чтобы вы могли отключиться и снова подключиться позже?   -  person Barmar    schedule 05.02.2015
comment
Я не пробовал! Позвольте мне попробовать, и я буду держать вас в курсе. Спасибо.   -  person MTT    schedule 05.02.2015
comment
Если у вас есть еще вопросы по этому поводу, он принадлежит superuser.com. Это не вопрос программирования.   -  person Barmar    schedule 05.02.2015


Ответы (2)


Вы можете перенаправить стандартный вывод и стандартную ошибку в файл и просмотреть этот файл. например:

nohup command 2>&1 > outputfile &

обратите внимание на поведение по умолчанию на странице руководства:

Если стандартный вывод - это терминал, добавьте вывод в nohup.out, если это возможно, в противном случае - в $ HOME / nohup.out. Если стандартная ошибка - это терминал, перенаправьте ее на стандартный вывод

так что ты действительно можешь просто бежать

nohup command &

а затем загляните в nohup.out

person Mike Atkins    schedule 05.02.2015
comment
Если стандартный вывод - это терминал - что такое терминал? - person Wassadamo; 01.07.2020

Вы можете увидеть результат в реальном времени, запустив ниже с другого терминала.

tail -f nohup.out
person yfpb    schedule 17.11.2016
comment
это хочу! спасибо - person Guihgo; 05.03.2017
comment
Спасибо. Эта команда просто печатает в реальном времени, что приятно. - person Fatih Ayyildiz; 16.01.2018
comment
Убедитесь, что она выполняется в том же каталоге, что и команда nohup, поскольку эта команда считывает выходную форму nohup.out, которая создается в каталоге. Потрясающий. Спасибо! - person Dami; 06.05.2020