再起動時に/sys/bus/platform/devicesのフォルダ階層が変更されるのはなぜですか?

再起動時に/sys/bus/platform/devicesのフォルダ階層が変更されるのはなぜですか?

私はconkyを使用してCPUの温度状態を表示しますが、再起動するたびに温度状態が壊れることを除いて、全体的に満足しています!

conkyのstderrを見ると、次のようになります。

conky: can't open '/sys/bus/platform/devices/coretemp.0/hwmon/hwmon3/temp1_input': No such file or directory

「おかしいですね。再起動するまではうまくいったんですよ」と思いました。

だから入って見てみると元々呼んだ/sys/bus/platform/devices/coretemp.0/hwmonフォルダがhwmon3今はhwmon4。 "良い"だから代わり.conkyrchwmon4

ところで再度再起動したらまた故障が出ました!

coretemp.0/hwmonデバイスの下に常に同じフォルダ階層を持つようにする方法はありますか?

ベストアンサー1

/sys/class/hwmon/Symlinkは、モジュールがロードされる順序に従って生成されるようです。これをブラックリストに追加し、次に指定した順序で手動でロードしてそれを強制できます。この投稿

しかし、conkyはhwmon実際にデバイス名を受け入れるので、直接使用することができます!

${hwmon 5 temp 1}例えば${hwmon coretemp temp 1}

これにより、現在の番号>名前マッピングが以下にリストされます。

for dir in /sys/class/hwmon/*; do echo -n "$dir: "; cat $dir/name; done

sensorsデバイス名もリストされますが、アダプタ名と結合されます。


hwmonconkyなしで(例:conky's)値にアクセスしたい場合は、ハッキングにすることができますexecgraph。信頼できることは保証できませんが、/sys/class/hwmon/次のようにシンボリックリンクされたすべてのディレクトリに番号が付けられたhwmonフォルダがあるようです。フォルダが1つだけなので*

たとえば、に/sys/class/hwmon/hwmon5リンクしまし/sys/bus/platform/devices/coretemp.0/hwmon/hwmon5たが他にディレクトリがないため、/sys/bus/platform/devices/coretemp.0/hwmon/egを使用して値にアクセスできますcat /sys/bus/platform/devices/coretemp.0/hwmon/*/temp1_input

おすすめ記事