सीपीयू तापमान बैश कमांड प्रॉम्प्ट में एम्बेडेड है


18

मैं सोच रहा था कि क्या सीपीयू तापमान प्राप्त करना और इसे कमांड प्रॉम्प्ट में एम्बेड करना संभव होगा।

यह मेरा आउटपुट है sensors:

$}-sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +55.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +55.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +52.0°C  (high = +87.0°C, crit = +105.0°C)

क्या आप कृपया मुझे यह दिखा सकते हैं कि grepतापमान को मेरी कमांड प्रॉम्प्ट में एम्बेड करने के लिए फ़ंक्शन का उपयोग कैसे करें ?



qucik: कैट / एसआईएस / क्लास / थर्मल / थर्मल_ज़ोन / टेम्प, मेरे लिए यह 50000 दिखाता है, जब मेरा तापमान 50 ° C
mondjunge

@mondjunge वे फाइलें बहुत हार्डवेयर पर निर्भर हैं। आपके पास किस हार्डवेयर के आधार पर नाम और पथ दोनों बदल जाएंगे। मेरे सिस्टम पर, वह फ़ाइल acpitz-virtual-0वर्चुअल डिवाइस का तापमान दिखाती है और यह मेरे सीपीयू के तापमान से बहुत अलग है।
टेराडॉन

आप मेरे जवाब में मेरे पास उसी कोड का उपयोग कर सकते हैं। यह आपके sensorsआउटपुट के लिए भी काम करेगा ।
टेराडॉन

@terdon: मुझे पता है, लेकिन मेरे पास समझाने का समय नहीं है, मैं सिर्फ अपने मुफ़्त 5 मिनटों में डुप्लिकेट किए गए प्रश्नों को चिह्नित करता हूं और एक त्वरित समाधान का संकेत देने की कोशिश करता हूं।
mondjunge

जवाबों:


36

हां, यह संभव है, लेकिन विवरण आपके सिस्टम पर निर्भर करता है। ज्यादातर मामलों में, कमांड sensorsको इसे दिखाना चाहिए।

  1. आवश्यक पैकेज स्थापित करें

    sudo apt-get install lm-sensors
  2. भागो sensors-detectऔर संकेतों का पालन करें

    sudo sensors-detect
  3. यदि sensors-detectआपको कोई भी अतिरिक्त ड्राइवर स्थापित करता है।

  4. sensorsसुनिश्चित करें कि यह काम करता है चलाने के लिए

    $ sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +27.8°C  (crit = +110.0°C)
    temp2:        +29.8°C  (crit = +110.0°C)
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +63.0°C  (high = +105.0°C, crit = +105.0°C)
    Core 0:         +62.0°C  (high = +105.0°C, crit = +105.0°C)
    Core 1:         +63.0°C  (high = +105.0°C, crit = +105.0°C)
    
    nct6776-isa-0a00
    Adapter: ISA adapter
    Vcore:                  +1.86 V  (min =  +0.00 V, max =  +1.74 V)  ALARM
    in1:                    +1.36 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    AVCC:                   +3.33 V  (min =  +2.98 V, max =  +3.63 V)
    +3.3V:                  +3.33 V  (min =  +2.98 V, max =  +3.63 V)
    in4:                    +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    in5:                    +0.00 V  (min =  +0.00 V, max =  +0.00 V)
    in6:                    +0.21 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
    3VSB:                   +3.31 V  (min =  +2.98 V, max =  +3.63 V)
    Vbat:                   +3.18 V  (min =  +2.70 V, max =  +3.63 V)
    fan1:                     0 RPM  (min =    0 RPM)
    fan2:                  3292 RPM  (min =    0 RPM)
    SYSTIN:                  +0.0°C  (high =  +0.0°C, hyst =  +0.0°C)  sensor = thermistor
    CPUTIN:                 +51.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
    AUXTIN:                  +0.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
    PCH_CHIP_CPU_MAX_TEMP:  +58.0°C  (high = +80.0°C, hyst = +75.0°C)
    PECI Agent 0:           +60.0°C  (high = +80.0°C, hyst = +75.0°C)
                                     (crit = +105.0°C)
    PCH_CHIP_TEMP:           +0.0°C  
    PCH_CPU_TEMP:            +0.0°C  
    intrusion0:            OK
    intrusion1:            OK
    beep_enable:           disabled
  5. केवल CPU तापमान प्राप्त करने के लिए आउटपुट को पार्स करें।

    जैसा कि आप ऊपर देख सकते हैं, मेरे सिस्टम पर आउटपुट आपसे अलग है। हालाँकि, हम यहाँ जिस रेखा की परवाह करते हैं, वही है। आप के साथ सीपीयू तापमान प्राप्त कर सकते हैं:

    $ sensors | grep -oP 'Physical.*?\+\K[0-9.]+'
    63.0
  6. अपनी ~/.bashrc(या समतुल्य फ़ाइल को संपादित करें यदि आप किसी अन्य शेल का उपयोग कर रहे हैं) और ऊपर फ़ंक्शन को चलाने वाला फ़ंक्शन जोड़ें:

    show_temp(){
        sensors | grep -oP 'Physical.*?\+\K[0-9.]+'
    }
  7. अपने प्रॉम्प्ट में फ़ंक्शन का उपयोग करें। उदाहरण के लिए:

    PS1="\u@\h $(show_temp) $ "

क्या उबंटू में एलएम-सेंसर स्थापित करना वास्तव में आवश्यक है? डिफ़ॉल्ट रूप से डेबियन में स्थापित किया गया है।
ब्रिअम

1
@Braiam यह 15.10 या 16.04 में डिफ़ॉल्ट रूप से स्थापित नहीं है।
बिल्ली

1

एलएम-सेंसर स्थापित करें:

sudo apt-get install lm-sensors

पता लगाएँ कि सेंसर क्या उपलब्ध हैं:

sudo sensors-detect

तापमान दिखाने के लिए:

sensors

5
जैसा कि मैं इस प्रश्न को समझता हूं, ओपी चाहता है कि सीपीयू तापमान उनके बैश प्रॉम्प्ट में दिखाई दे, जैसे username@hostname (cputemp): /current/directory $- वे पहले से ही जानते हैं कि sensorsकमांड को सामान्य रूप से कैसे चलाना है , वे प्रश्न में आउटपुट कैसे दिखा पाएंगे?
बाइट कमांडर

3
@ Bry's डिफेंस में @ByteCommander, ओपी ने sensorsअपने मूल प्रश्न में उल्लेख नहीं किया और केवल मेरे जवाब के पहले संशोधन में मेरे द्वारा पूछे जाने के बाद ही आउटपुट को जोड़ा। दी गई, यह उत्तर यह नहीं बताता है कि केवल सीपीयू टेम्प को कैसे दिखाया जाए और न ही इसे प्रॉम्प्ट में कैसे शामिल किया जाए, लेकिन sensorsउत्तर पोस्ट किए जाने पर उपयोगी जानकारी का उल्लेख किया गया था।
टेराडॉन

एक AMD सिस्टम पर मुझे BIOS में "IOMMU" चालू करना था इससे पहले कि मैं CPU तापमान (FX8300 के साथ MSI मदरबोर्ड: ओवरक्लॉकिंग सेटिंग्स -> सीपीयू सुविधाएँ -> IOMMU, "विकलांग" को "64 एमबी" में बदल सकता हूं (एकमात्र) दूसरा विकल्प))।
पीटर मोर्टेंसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.