Билайн пишет в STDERR, но не в STDOUT

Я запускаю клиент Beeline на сервере Linux, используя следующую командную строку.

Вся команда находится в одной строке. Он отлично работает и успешно записывает STDERR в $errFile. Но не удается записать STDOUT в файл, указанный как $outputFile.

nohup beeline -u "jdbc:$jdbcUrl " -f $QueryFile </dev/null 1> $outputFile 2> $errFile &

$errFile говорит, что для запроса возвращается 9 строк. Если я не перенаправляю STDOUT, он выводит 9 строк на терминал.


person ramana_k    schedule 31.07.2019    source источник


Ответы (2)


Попробуй это:

nohup beeline -u "jdbc:$jdbcUrl" -f $QueryFile </dev/null 2> $errFile >> $outputFile &
person Chris Marotta    schedule 31.07.2019
comment
Пробовал, но проблема осталась. Как и раньше, он не пишет в STDOUT, пока STDERR в порядке. - person ramana_k; 31.07.2019
comment
Модераторы, пожалуйста, закройте этот вопрос. Я подозреваю, что это может быть связано с ОС, и я попытаюсь опубликовать это на форуме, связанном с ОС. - person ramana_k; 01.08.2019

Команда nohup должна перенаправлять вывод на nohup.out, если STDOUT не перенаправляется.

nohup — это команда POSIX для игнорирования сигнала HUP (зависания). Сигнал HUP, по соглашению, является способом, которым терминал предупреждает зависимые процессы о выходе из системы.

Вывод, который обычно поступает на терминал, поступает в файл с именем nohup.out, если он еще не был перенаправлен.

См.: Nohup

person yammanuruarun    schedule 14.12.2019