Перенаправленный вывод фонового процесса не отображается в файле - PullRequest
0 голосов
/ 08 сентября 2011

У меня проблемы с перенаправлением вывода моей команды в файл, когда я вызываю команду как фоновый процесс.

spawner.sh user @ host "./.profile >>/ dev / null 2> & 1; runjobs SOMEJOB "> test.log &

spawner.sh использует скрипт!на удаленном хосте и взаимодействует с ним.Когда я удаляю амперсанд в конце этого оператора, вывод записывается в файл test.log.Но когда я запускаю это в фоновом режиме (с амперсандом), мой файл журнала становится пустым.

Есть идеи, парни и девушки?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2014

У меня была та же проблема со скриптом Python, и это оказалось буферизацией внутри Python.
Использование опции -u, как в python -u </ dev / null>> Файл 2> & 1 & раскрыл мое дело.

Другие языки сценариев могут иметь аналогичный параметр, как python -u

0 голосов
/ 08 сентября 2011

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

fconfigure stdout -buffering none
...