Ricevi temp di CPU dal terminale usando Cygwin?


1

Sto usando Cygwin 64 su Windows 8 e vorrei usare l'interfaccia bash per ottenere le temperature della CPU (4 core, così come le temperature GPU). È possibile? Sto usando l'applicazione per il monitoraggio della temperatura e ho l'interfacciamento con Rainmaker, ma vorrei farli stampare in un file di testo ad intervalli della mia selezione, poiché voglio testare un po 'del mio codice e vedere come riscalda il computer.

Qualche idea?


Quale applicazione di monitoraggio della temperatura stai usando?
VL-80,

Speedfan. Mi dispiace, sul mio vecchio computer era letteralmente chiamato "Temperature Monitor"!
drjrm3,

Tutto apposto. Dai un'occhiata alla mia risposta.
VL-80,

sembra decente - non ho ancora avuto il tempo di provarlo, ma quando lo farò ti farò sapere come funziona e lo elenco come risposta quando lo confermo. Grazie.
drjrm3,

Risposte:


1

Speed ​​Fan ha un'opzione di registrazione. Abilitalo nella configurazione. I file di registro si trovano nella directory in cui è stato installato Speed ​​Fan. Nel mio caso lo eraProgram Files\SpeedFan\SFLog(date).csv

Ho installato UnixTools per Windows. Se ho capito bene Cygwinha lo stesso tipo di funzionalità UnixToolse ti dà la possibilità di utilizzare comandi simili a Unix in Windows.

Quindi, ora abbiamo il file di registro (che si aggiorna una volta ogni 3 secondi) con tutti i dati che vogliamo. Possiamo usarlo per ottenere gli ultimi valori da SpeedFan con il seguente script:

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}

Innanzitutto, impostiamo la variabile mydatecome data corrente formattata nello stile del registro di Speed ​​Fan. Ne avremo bisogno per trovare il file di registro più recente.

Dopodiché utilizziamo la coda dei comandi con l'opzione -n 1per ottenere l'ultima riga del file (dati più recenti).

E forniamo questa riga al comando gawk con l'opzione {print$2}per ottenere la seconda 'colonna' della riga, poiché la prima 'colonna' è data / ora.

Quindi lo script farà eco al valore più recente della seconda colonna del file di registro. Se hai bisogno di più di un solo valore, crea un altro script che richiede la terza colonna dando l'opzione {print$3}a gawk.

Supponiamo che il file di registro di SpeedFan abbia il seguente formato:

Timestamp  CPU1_temp  CPU2_temp  MotherBoard_temp  CPUFan_RPM

Puoi avere 4 script - ognuno otterrà uno dei valori (usa l gawk' {print$X}opzione per determinare quale colonna leggerà).

Ora puoi chiamare questi script da altri programmi quando hanno bisogno di letture della temperatura da SpeedFan.


il mio file di registro stampa solo i tempi. C'è una nota nella scheda 'registro' che dice "ricordati di selezionare quali letture vuoi registrare" - dove seleziono queste letture?
drjrm3,

1
Vai alla scheda temperature (prima). Vedrai l'elenco dei sensori. Fare clic su uno e nella parte inferiore della finestra verrà visualizzata la casella di controllo "Registrato". Controllare se si desidera che vengano registrati i dati di questo sensore. Stessa cosa con Ventole, Tensioni, ecc.
VL-80
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.