コマンドについて知っていますが、uptime
起動後の秒数を返すので、現在のタイムスタンプからその数を減算すると、理論的には稼働時間と現在のタイムスタンプを読み取った後に秒数が変わると、別の結果が得られます。uptime -s
私が望むものですが、centosでは使用できません(しかし、どのように計算されますか?)。 / procディレクトリのctimeだけを取得できますか?これは正確な数字を提供しているようですが、すべてのLinuxシステムが起動時に/ procを生成するかどうか疑問に思います。
ベストアンサー1
まずcrtime
Linuxでは難しい。つまり、次のように実行します。
$ stat -c %z /proc/
2014-10-30 14:00:03.012000000 +0100
または
$ stat -c %Z /proc/
1414674003
あなたに必要なものかもしれません。ファイルシステムは/proc
LFS標準によって定義されており、すべてのLinuxシステムでも機能する必要があります。ほとんどの場合(すべて?)UNIXen。
あるいは、実際には2番目の精度が必要ではなく、正しいタイムスタンプだけが必要であると仮定すると、次のようになりますwho
。
$ who -b
system boot 2014-10-30 14:00
From man who
:-b、--bootシステムが最後に起動した時刻
GNUを使用して、それをエポック以降の秒単位に変換できますdate
。
$ date -d "$(who -b | awk '{print $4,$3}' | tr - / )" +%s
1414674000