Как я могу направить стандартный вывод в другой процесс, сохраняя при этом стандартный вывод в локальном файле?

Я думаю, что понял происхождение проблемы, хотя мне не удалось как следует проверить свое объяснение.

В первую очередь отмечу, что настройка

powerManagement.cpuFreqGovernor = "powersave";

на моей машине была ошибка. Согласно выходу

cpupower frequency-info

единственными доступными регуляторами на моей машине были performanceи schedutil. Я установил

powerManagement.cpuFreqGovernor = "schedutil";

и кажется, что это немного снизило температуру процессора.

Однако оказалось, что это не главное.

Недавно я установил на эту машину Linux Mint и Manjaro и заметил, что в обеих системах температура процессора остается такой же низкой, как и в Mac OS, если не ниже. Оказалось, что разница была из-за проприетарного драйвера NVidia. У меня не было драйвера nvidiaна NixOS (из-за проблем с ним ), но я сначала установил его на Linux Mint и Manjaro. Когда я понял, что драйвер nvidiaломает клавиши яркости экрана и виртуальные консоли, я удалил его, и температура процессора поднялась на 10 или 15 ° C на неработающей машине.

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

0
27.01.2021, 04:52
1 ответ

tee — правильная команда в нужном месте.

 program_that_produces_stdout | tee some_file | program_that_captures_stdout

Если вы хотите добавить к «какому-то _файлу», а не перезаписать его (, то есть «>>» вместо «>» ), используйте вместо этого tee -a.

напр.

 program_that_produces_stdout | tee -a some_file | program_that_captures_stdout
2
18.03.2021, 22:34

Теги

Похожие вопросы