Назад | Перейти на главную страницу

Как мне чаще очищать nohup.out?

В Ubuntu 10.04 у меня есть длинная программа Python, которая выводит кучу результатов; Я запускаю это под "nohup" Однако он ждет до конца, чтобы поместить весь текст в nohup.out. Когда я запускаю аналогичные программы под FreeBSD, каждая строка отправляется на nohup.out. Можно ли настроить Ubuntu для ускорения вывода?

Да, это связано со способом буферизации stdout по умолчанию в Linux. Вам нужно явно запустить setbuf () в коде, чтобы переопределить это поведение.

Я предлагаю избегать nohup, если вы используете оболочку bash, это позволяет вам отделить команду от вашей оболочки.

$ ( my_cmd > ~/output.log 2>&1 & ) 

Вы также можете использовать disown для аналогичного эффекта на выполняемое в данный момент задание.

Поскольку ваша программа - python, вы можете запустить ее с помощью python -u. В качестве альтернативы вы можете найти разблокировать программа полезная.