2014-12-23 10 views
8

Su Windows (R) macchina la seguente funzione può essere utilizzata per interrogare lo stato di alimentazione del sistema della macchina:Interrogazione dello stato di alimentazione di un Linux Macchina di programmazione

BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS lpSystemPowerStatus); 

C'è qualcosa di simile per una macchina Linux ?

+0

Per stato di alimentazione intendete cose come informazioni sulla batteria? Come la carica, se il cavo di alimentazione è collegato, ecc.? – ace

+0

@ace sì. Comprendo che Linux, Ubuntu, per essere specifici, viene fornito con l'utilità "upower" – JCM

+4

Se il programma è in esecuzione, lo stato di alimentazione del computer è "On". :-) –

risposta

2

Nella maggior parte dei sistemi Linux un daemon denominato acpid esegue tutto il monitoraggio del tempo per gli eventi ACPI e normalmente registra le informazioni in/var/log/acpid o/var/log/messages. C'è una pagina di manuale per questo a http://linux.die.net/man/8/acpid. acpid memorizza le informazioni ACPI correnti in/proc/acpi anche se è stato spostato in/sys da qualche parte e/sys/power/state mantiene lo stato di alimentazione corrente visto da catting (cat/sys/power/state). Ulteriori informazioni su ACPI sono disponibili al http://acpi.sourceforge.net/documentation/sleep.html. JCM ha citato uno strumento da riga di comando per il monitoraggio dello stato ACPI denominato AcpiTool disponibile a http://sourceforge.net/projects/acpitool/. L'ho costruito su CentOS e funziona perfettamente. Basta seguire le istruzioni nel suo file INSTALL per installarlo - richiede un compilatore C++, che è comunemente su linux o se non ne installa uno usando yum o apt.

dmidecode può fare molti tipi di query per le questioni di basso livello, tra cui alimentazione e controlli del sistema, vedere http://linux.die.net/man/8/dmidecode

In collaborazione con freedesktop.org RedHat sviluppato e fornisce DeviceKit-potere pre RH7 che si chiama UPower partendo RH7 . Consiste in un daemon e uno strumento da riga di comando. Una manpage per questo è a http://www.pkill.info/linux/man/1-upower/. L'opzione --dump dello strumento della riga di comando fornisce alcune informazioni utili ma raramente aggiornate. Forse il riavvio del demone causerebbe un aggiornamento. Ecco un esempio di uscita da un CentOS 6 host:

ca:17: devkit-power --dump 
Device: /org/freedesktop/DeviceKit/Power/devices/line_power_ACAD 
    native-path:   /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0003:00/power_supply/ACAD 
    power supply:   yes 
    updated:    Tue Dec 23 20:28:27 2014 (866 seconds ago) 
    has history:   no 
    has statistics:  no 
    line-power 
    online:    yes 

Daemon: 
    daemon-version: 014 
    can-suspend:  no 
    can-hibernate yes 
    on-battery:  no 
    on-low-battery: no 
    lid-is-closed: no 
    lid-is-present: no 

La maggior parte dei fornitori di PC importanti come Dell e HP forniscono le proprie applicazioni per la gestione dell'alimentazione e il monitoraggio e la ho trovato è meglio usarli perché sanno come interrogare le sonde personalizzate progettate nell'HW e stampare la diagnostica completa per il loro team di supporto.

+0

Thx. Un client ACPI può essere trovato su JCM

Problemi correlati