Lm-датчики возвращают неверный результат в расширении гнома

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

dell_smm-virtual-0
Adapter: Virtual device
Processor Fan:    0 RPM
CPU:            +53.0°C
Other:          +46.0°C
Other:          +52.0°C
GPU:            +16.0°C

acpitz-virtual-0
Adapter: Virtual device
temp1:        +53.5°C  (crit = +99.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +57.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:         +57.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:         +55.0°C  (high = +86.0°C, crit = +100.0°C)

и когда я выполняю ту же команду с GLib.spawn_command_line_sync("датчики"), я получаю на 10 или более градусов больше для температуры моего процессора:

JS LOG: ----------->, dell_smm-virtual-0
Adapter: Virtual device
Processor Fan:    0 RPM
CPU:            +67.0°C  
Other:          +46.0°C  
Other:          +52.0°C  
GPU:            +16.0°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +67.5°C  (crit = +99.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +68.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:         +65.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:         +68.0°C  (high = +86.0°C, crit = +100.0°C)

в чем дело?

1 ответ

Возможно, это использование spawn_command_line_sync() вызывая ваш процессор на мгновение наращивать? Я бы попробовал async позвоните, просто чтобы проверить.

Кстати, смотрите util.js, в котором есть функция spawnCommandLine(), которая выполняет команду асинхронно и автоматически обрабатывает ошибки. Импорт imports.misc.util;,

И если использование асинхронного вызова решит проблему высокой загрузки процессора, мне было бы интересно узнать об этом.

Другие вопросы по тегам