Стандартный способ проверить температуру жесткого диска без установки дополнительных пакетов

Поскольку принятый ответ написан на языке C, я решил, что здесь можно разместить решение на Python:

# Read mask
with open('L.txt', 'r') as f:
    mask = [int(line_num) for line_num in f.read().splitlines()]

# Filter input file
filtered_lines = []
with open('F.txt', 'r') as f:
    for i, line in enumerate(f.read().splitlines()):
        if (i+1) in mask:
            filtered_lines.append(line)

# Write newly filtered file
with open('F_filtered.txt', 'w') as f:
    for line in filtered_lines:
        f.write('%s\n' % line)

При использовании внешней библиотеки, такой как numpy, решение выглядело бы еще более элегантно:

import numpy as np

with open('L.txt', 'r') as f:
    mask = np.array([int(line_num)-1 for line_num in f.read().splitlines()])

with open('F.txt', 'r') as f:
    lines = np.array(f.read().splitlines())
filtered_lines = lines[mask]

with open('F_filtered.txt', 'w') as f:
    for line in filtered_lines:
        f.write('%s\n' % line)
0
19.12.2019, 21:54
1 ответ

В Linux 5.6+ Используйте модуль drivetemp для чтения данных датчиков дисков с помощью инфраструктуры HWMON.

загрузите темп.модуля:

sudo modprobe drivetemp

Затем вы можете найти данные датчика в /sys/class/hwmon/hwmon */ вместе с другими датчиками

https://www.kernel.org/doc/html/latest/hwmon/drivetemp.html

Пример списка всех приводов:

grep -l "drivetemp" /sys/class/hwmon/hwmon*/name | while read f;
    do printf "%s(%-.2s°C)\n" "`<${f%/*}/device/model`" "`<${f%/*}/temp1_input`";
done

Пример списка приводов по моделям:

grep -l "Lexar 256GB SSD" /sys/class/scsi_disk/*/device/model | while read f;
    do printf "%s(%-.2s°C)\n" "`<${f%}`" "`<${f%/*}/hwmon/hwmon*/temp1_input`";
done

Пример получения только температуры по модели диска:

cat "$(grep -l "Lexar 256GB SSD" /sys/class/scsi_disk/*/device/model | xargs dirname)"/hwmon/hwmon*/temp1_input

Пример списка моделей привода:

cat /sys/class/scsi_disk/*/device/model
1
01.11.2020, 12:27

Теги

Похожие вопросы