2017-06-25 10 views
-1

J'écris une simple extension gnome pour contrôler la température de mon processeur mais j'ai un problème rare. Quand j'exercerai capteurs dans la coquille j'ai ce résultat:Lm-capteurs renvoie un mauvais résultat dans l'extension gnome

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) 

et quand je Faire la même commande avec GLib.spawn_command_line_sync (« capteurs ») i obtenir plus de 10 degrés ou plus pour ma température CPU:

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) 

quoi de mal?

Répondre

0

Peut-être que c'est l'utilisation de spawn_command_line_sync() provoquant momentanément le démarrage de votre CPU? Je voudrais essayer un appel async, juste pour vérifier.

Incidemment, voir util.js qui a une fonction spawnCommandLine() qui exécute la commande de manière asynchrone et gère automatiquement les erreurs. L'importation est imports.misc.util;.

Et si l'utilisation d'un appel asynchrone résout votre problème de processeur élevé, je serais intéressé d'en entendre parler.

+0

Salut @ andy.holmes finalement j'ai résolu avec le main.loop. Lorsque j'imprime la température toutes les deux secondes, j'obtiens les bonnes températures. C'est rare mais ça marche. N'échoue seulement la première fois. –

+0

Intéressant, merci de m'avoir fait savoir que ce n'est pas un problème de 'spawn_sync'. –