У меня есть код, работающий на сервере Linux. Поскольку на выполнение требуется несколько часов, я должен использовать nohup
, чтобы убедиться, что мой код все еще работает, на случай, если я потеряю соединение с сервером. Опять же, поскольку мне приходится часами ждать, чтобы увидеть результаты, я определил счетчик для вывода информации о ходе выполнения моего кода (%). Если я потеряю соединение с сервером или закрою терминал, единственный способ увидеть, что код все еще работает, - это использовать top
. Могу ли я снова увидеть консоль вывода (сообщение, показывающее прогресс)?
Как я могу увидеть консоль вывода после выполнения команды nohup?
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
Если стандартный вывод - это терминал - что такое терминал?
- person Wassadamo; 01.07.2020
Вы можете увидеть результат в реальном времени, запустив ниже с другого терминала.
tail -f nohup.out
person
yfpb
schedule
17.11.2016
это хочу! спасибо
- person Guihgo; 05.03.2017
Спасибо. Эта команда просто печатает в реальном времени, что приятно.
- person Fatih Ayyildiz; 16.01.2018
Убедитесь, что она выполняется в том же каталоге, что и команда nohup, поскольку эта команда считывает выходную форму nohup.out, которая создается в каталоге. Потрясающий. Спасибо!
- person Dami; 06.05.2020