Grazie mille! Ora controlloActarus5 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4767198#p4767198][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Non l'ho mai usato per questo scopo ma so che lm-sensors supporta gli "alarms" per questo genere di cose, potresti provare a darci uno sguardo!
Arresto automatico per temperature alte
- Ylian89
- Scoppiettante Seguace

- Messaggi: 275
- Iscrizione: mercoledì 5 maggio 2010, 11:35
- Desktop: LXQT
- Distribuzione: Debian Testing
- Sesso: Maschile
- Località: Bari
Re: Arresto automatico per temperature alte
-
notsure
- Prode Principiante
- Messaggi: 53
- Iscrizione: mercoledì 20 maggio 2015, 9:42
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.2 LTS i686
- Sesso: Maschile
Re: Arresto automatico per temperature alte
Si può costruire un semplice script bash, basta fornirgli le giuste variabili;
come prima variabile abbiamo bisogno di leggere la temperatura del processore da sensors.
Per me basta un
che reindirizza l'output di sensors su sed, prendendone solo la 12 riga, che viene a sua volta reindirizzata a cut che ne prende solo i caratteri 16 e 17.
Partendo da questo semplice comando è facile capire come adattarlo al proprio output di sensors, quindi variare riga e caratteri in base ai dati che si vuole dare in pasto allo script.
La seconda variabile da impostare sarà la temperatura alla quale il PC dovrà spegnersi automaticamente, per me è 85°C.
Con un while true avvio in loop infinito un ciclo if che confronta ogni n secondi, per me 30 (sleep 30), la temperatura del processore con quella di spegnimento che ho impostato, e, quando è uguale o superiore (if [ $VAR1 -ge $VAR2 ]), manderà un xmessage di spegnimento e avvierà uno shutdown che avverrà dopo 2 minuti (shutdown è avviabile da super user, quindi bisogna fornire la propria password allo script); quando la temperatura è inferiore la stamperà a schermo.
Questo è lo script completo:
Questa è la via più semplice che ho trovato, ma si potrebbe migliorare tantissimo, per esempio inserendo lo script nell'init, così da avviarlo automaticamente e senza il bisogno di avere la password in chiaro in uno script; oppure se si hanno più processori si potrebbero controllare entrambi; o ancora, prima di effettuare lo shutdown si potrebbe effettuare un altro controllo per verificare che la temperatura non sia scesa sotto la soglia; o identificare il processo che consuma più CPU e killarlo automaticamente.
Invito gli utenti a continuare le modifiche dello script, scrivendole in questa discussione.
come prima variabile abbiamo bisogno di leggere la temperatura del processore da sensors.
Per me basta un
Codice: Seleziona tutto
sensors | sed -n '12{p;q}' | cut -c16-17
Partendo da questo semplice comando è facile capire come adattarlo al proprio output di sensors, quindi variare riga e caratteri in base ai dati che si vuole dare in pasto allo script.
La seconda variabile da impostare sarà la temperatura alla quale il PC dovrà spegnersi automaticamente, per me è 85°C.
Con un while true avvio in loop infinito un ciclo if che confronta ogni n secondi, per me 30 (sleep 30), la temperatura del processore con quella di spegnimento che ho impostato, e, quando è uguale o superiore (if [ $VAR1 -ge $VAR2 ]), manderà un xmessage di spegnimento e avvierà uno shutdown che avverrà dopo 2 minuti (shutdown è avviabile da super user, quindi bisogna fornire la propria password allo script); quando la temperatura è inferiore la stamperà a schermo.
Questo è lo script completo:
Codice: Seleziona tutto
#!/bin/bash
temp=`sensors | sed -n '12{p;q}' | cut -c16-17`
maxtemp=85
while true
do
if [ $temp -ge $maxtemp ];
then
xmessage "Alert! Temp above 85. System halting in 2 minutes"
echo password | sudo /sbin/shutdown -h +2
else
sensors | sed -n '12{p;q}' | cut -c16-17
fi
sleep 30
done
Invito gli utenti a continuare le modifiche dello script, scrivendole in questa discussione.
Welcome to Carl's Jr. Would you like to try our EXTRA BIG ASS TACO? Now with more MOLECULES!
Re: Arresto automatico per temperature alte
Molto interessante (non ho idea di cosa hai scritto
) ma sarebbe meglio aprire una nuova discussione in programmazione con titolo chiaro Script allarme per lm-sensors o simile, sarà anche più evidente. Qui in bar ubuntu va a finire che si "perde".
-
notsure
- Prode Principiante
- Messaggi: 53
- Iscrizione: mercoledì 20 maggio 2015, 9:42
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.2 LTS i686
- Sesso: Maschile
Re: Arresto automatico per temperature alte
Io credo che questa invece sia proprio una discussione da bar, da fare magari davanti ad una birra ghiacciata.
@Toshio prova ad apportare le modifiche che ti servono e posta il tuo script qui, così lo confronteremo con altri.
@Toshio prova ad apportare le modifiche che ti servono e posta il tuo script qui, così lo confronteremo con altri.
Welcome to Carl's Jr. Would you like to try our EXTRA BIG ASS TACO? Now with more MOLECULES!
Re: Arresto automatico per temperature alte
Forse per te e per coloro che hanno cognizioni di programmazione e sanno come si scrivono gli script. La birra ce l'ho proprio qui in mano, fidati...notsure ha scritto:Io credo che questa invece sia proprio una discussione da bar,
Il punto è che a parte quei 5 o 6 utenti cha sono intervenuti e qualcun'altro cha "passa" per caso, non la vedrà nessuno. Proprio perchè interessante e utile sarebbe il caso avesse più visibilità nella sezione adatta e con un titolo che spieghi di cosa si tratta.
- Actarus5
- Prode Principiante
- Messaggi: 220
- Iscrizione: mercoledì 3 luglio 2013, 17:15
- Desktop: Mate
- Distribuzione: Fedora
- Località: Abutalabashuneba
Re: Arresto automatico per temperature alte
In effetti sarebbe interessante come argomento, potremmo provare a fare un'estensione per Gnome o un programma con GUI per gestire questa cosa qui.notsure [url=http://forum.ubuntu-it.org/viewtopic.php?p=4767424#p4767424][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Io credo che questa invece sia proprio una discussione da bar, da fare magari davanti ad una birra ghiacciata.
@Toshio prova ad apportare le modifiche che ti servono e posta il tuo script qui, così lo confronteremo con altri.
"An extremely helpful console message: “SPANK! SPANK! SPANK! Naughty programmer!”. Really, I’m not joking about that one."
-
notsure
- Prode Principiante
- Messaggi: 53
- Iscrizione: mercoledì 20 maggio 2015, 9:42
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.2 LTS i686
- Sesso: Maschile
Re: Arresto automatico per temperature alte
Con notify-send e zenity non sarebbe per niente difficile da fare
Welcome to Carl's Jr. Would you like to try our EXTRA BIG ASS TACO? Now with more MOLECULES!
- Actarus5
- Prode Principiante
- Messaggi: 220
- Iscrizione: mercoledì 3 luglio 2013, 17:15
- Desktop: Mate
- Distribuzione: Fedora
- Località: Abutalabashuneba
Re: Arresto automatico per temperature alte
Comunque le altre info importanti si trovano in /sys/class/hwmon stando alla documentazione: https://www.kernel.org/doc/Documentatio ... -interface .
Per trovare quelle del processore bisogna controllare il file name nelle 3 subdirectory ( hwmon0 hwmon1 hwmon2) e vedere qual è quello che riguarda il processore ( deve esserci scritto coretemp)
Per trovare quelle del processore bisogna controllare il file name nelle 3 subdirectory ( hwmon0 hwmon1 hwmon2) e vedere qual è quello che riguarda il processore ( deve esserci scritto coretemp)
"An extremely helpful console message: “SPANK! SPANK! SPANK! Naughty programmer!”. Really, I’m not joking about that one."
-
notsure
- Prode Principiante
- Messaggi: 53
- Iscrizione: mercoledì 20 maggio 2015, 9:42
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.2 LTS i686
- Sesso: Maschile
Re: Arresto automatico per temperature alte
@Actarus5, proponi le tue modifiche allo script, vediamo un po' cosa ne esce fuori. Che dati vuoi raccogliere da hwmon?
Welcome to Carl's Jr. Would you like to try our EXTRA BIG ASS TACO? Now with more MOLECULES!
- Actarus5
- Prode Principiante
- Messaggi: 220
- Iscrizione: mercoledì 3 luglio 2013, 17:15
- Desktop: Mate
- Distribuzione: Fedora
- Località: Abutalabashuneba
Re: Arresto automatico per temperature alte
Beh su hwmon trovi sia la temperatura dei singoli core ( sarebbe interessante mettere un'opzione per mostrarla) che quella della scheda madre, in generale secondo me è una buona idea leggere tutto da hwmon perché se con le prossime release dovesse cambiare l'output di sensors lo script resterebbe comunque usabile senza cambiare nulla.
Il fatto è che io con bash sono davvero una ciofeca, la mia conoscenza si limita alle cose base per sopravvivere usando il terminale; mi è utile nel caso in cui mi muoia il DE perché potrei sempre riuscire a recuperare il sistema da riga di comando
Il fatto è che io con bash sono davvero una ciofeca, la mia conoscenza si limita alle cose base per sopravvivere usando il terminale; mi è utile nel caso in cui mi muoia il DE perché potrei sempre riuscire a recuperare il sistema da riga di comando
"An extremely helpful console message: “SPANK! SPANK! SPANK! Naughty programmer!”. Really, I’m not joking about that one."
-
notsure
- Prode Principiante
- Messaggi: 53
- Iscrizione: mercoledì 20 maggio 2015, 9:42
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.2 LTS i686
- Sesso: Maschile
Re: Arresto automatico per temperature alte
Non è detto che l'output di hwmon rimarrebbe uguale, anzi, bisogna partire dal presupposto che ogni scheda madre e processore crea file diversi, già con la versione attuale.Actarus5 ha scritto:se con le prossime release dovesse cambiare l'output di sensors lo script resterebbe comunque usabile senza cambiare nulla.
Comunque è semplice da bash chiedere al sistema quale sia la cartella interessata
Codice: Seleziona tutto
sudo -s
grep --exclude-dir={subsystem,power,driver} -Rx "coretemp" /sys/class/hwmon/hwmon*
Da questo post ho ricavato questo comando
Codice: Seleziona tutto
sensors | grep -Pio 'Core [01]:.*?\+\K[0-9]+'
Penso che questo script debba adattarsi per ogni utente che voglia utilizzarlo, basta spiegare tutti i passaggi in maniera semplice.
Welcome to Carl's Jr. Would you like to try our EXTRA BIG ASS TACO? Now with more MOLECULES!
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti