1

Я использую Cygwin 64 на Windows 8 и хотел бы использовать интерфейс bash для получения температуры процессора (4 ядра, а также температуры gpu). Это возможно? Я использую приложение для контроля температуры и взаимодействую с ним через Rainmaker, но я хотел бы, чтобы они распечатывались в текстовый файл с интервалами моего выбора, поскольку я хочу протестировать часть своего кода и посмотреть, как он нагревает компьютер.

Есть идеи?

1 ответ1

1

Speed Fan имеет опцию регистрации. Включите его в конфигурации. Вы найдете файлы журналов в каталоге, где был установлен Speed Fan. В моем случае это были Program Files\SpeedFan\SFLog(date).csv

Я установил UnixTools для Windows. Если я правильно понимаю, Cygwin обладает теми же возможностями, что и UnixTools и дает вам возможность использовать Unix-подобные команды в Windows.

Итак, теперь у нас есть файл журнала (который обновляется раз в 3 секунды) со всеми данными, которые мы хотим. Мы можем использовать его для получения последних значений из SpeedFan с помощью следующего скрипта:

for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)

tail -n 1 "C:\Program Files\SpeedFan\SFLog%mydate%.csv" | gawk {print$2}

Сначала мы устанавливаем переменную mydate как текущую дату, отформатированную в стиле журнала Speed Fan. Нам понадобится найти последний файл журнала.

После этого мы используем команду tail с опцией -n 1 чтобы получить последнюю строку файла (самые последние данные).

И мы передаем эту строку команде gawk с параметром {print$2} чтобы получить второй «столбец» строки, поскольку первый «столбец» является меткой времени.

Таким образом, скрипт будет отображать самое последнее значение второго столбца файла журнала. Если вам нужно больше, чем одно значение - создайте другой скрипт, который запрашивает третий столбец, задав опцию {print$3} для gawk .

Допустим, файл журнала SpeedFan имеет следующий формат:

Timestamp  CPU1_temp  CPU2_temp  MotherBoard_temp  CPUFan_RPM

Вы можете иметь 4 сценария - каждый из них получит одно из значений (используйте опцию gawk {print$X} чтобы определить, какой столбец он будет читать).

Теперь вы можете вызывать эти скрипты из других программ, когда им нужны показания температуры из SpeedFan.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .