Moi,
Miten saisin tulostettua mbmonin lämpöjä exec() funktion kautta servuni apachen nettisivulle? Kokeilin exec("mbmon"); ,system("mbmon"); ja shell_exec("mbmon"); , mutta kumpikaan ohjelmista ei tulosta mitään. Esim. exec("uptime"); tulostaa toimivasti, mutta mbmonin kanssa tuo ei toimi?
Kiitän jo etukäteen.
https://www.php.net/manual/fi/function.shell-exec.php (fi-mirrorit ovat alhaalla turhan usein)
Kokeiles (aha tuolta linkistähän tuo löytyykin) tätä:
echo shell_exec("mbmon");
Eips toimi nuilla...Voiko tämä johtua siitä kun käytetään laitetaan esim uptime, niin se uptime ohjelma sammuu saman tien. Mbmon jatka vaan looppaamista niin kauan kun painaa ctrl+c että ohjelma sammuu. Koitin myös exec "top" ja siinä käy samanlain kuin mbmonissa.
Luultavasti ongelmasi johtuu tuosta. Eikä mbmon osaa ottaa mitään parametriä joka auttaisi?
Hei,
itse käytän lämpötilanmittaukseen lm-sensors nimistä ohjelmaa. Parsin ne shell_exec-funktiolla komentamalla ohjelmaa sensors.
Sitten sen voi parsia vaikkapa preg_match:lla tyyliin:
preg_match("CPU Temp: (.+)",$lahde,$kohdearray);
(tjsp.)
Lisäksi mbmonin tapauksessa taitaapi toimia suunnilleen seuraava:
<?php preg_match("/Temp\.\= (.*), .* (.*);/is",shell_exec("mbmon"), $array); print "Kotelo: ".$array[1]." Prosessori: ".$array[2]; ?>
En ole testannut kylläkään koodeja, mutta ainahan voi soveltaa.
https://www.php.net/preg_match
https://www.php.net/shell_exec
str4nd kirjoitti:
itse käytän lämpötilanmittaukseen lm-sensors nimistä ohjelmaa. Parsin ne shell_exec-funktiolla komentamalla ohjelmaa sensors.
lm_sensorsin tiedot voi lukea myös suoraan /sysin alta, /sys/bus/i2c/devices/, jos tykkää, että se on mukavampaa kuin parsia sensorsin tulostetta.
mbmonista en valitettavasti tiedä, kuulen moisesta ensimmäistä kertaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.