9

Linuxの「cat/proc/uptime」とまったく同じ出力が必要です。

たとえば、/ proc / uptimeを使用すると、次のようになります。

1884371.64 38646169.12

しかし、「稼働時間」などのMacの代替手段を使用すると、

20:25アップ20:26、6ユーザー、平均負荷:3.19 2.82 2.76

cat / proc / uptimeとまったく同じである必要がありますが、MacOSXでは必要です。

4

4 に答える 4

7

とった...

$sysctl -n kern.boottime | cut -c14-18
87988

次に、それを読み取り可能な形式に変換しました(方法を覚えていません)。

1日00:26:28

于 2013-03-14T01:33:09.877 に答える
6

Macintoshには「/proc」ディレクトリはありません。

MacOSでは、次のようなコマンドを実行できます

sysctl kern.boottime 

次のような応答が返されます。

kern.boottime: { sec = 1362633455, usec = 0 } Wed Mar  6 21:17:35 2013
于 2013-03-11T01:00:20.653 に答える
3
boottime=`sysctl -n kern.boottime | awk '{print $4}' | sed 's/,//g'`
unixtime=`date +%s`
timeAgo=$(($unixtime - $boottime))
uptime=`awk -v time=$timeAgo 'BEGIN { seconds = time % 60; minutes = int(time / 60 % 60); hours = int(time / 60 / 60 % 24); days = int(time / 60 / 60 / 24); printf("%.0f days, %.0f hours, %.0f minutes, %.0f seconds", days, hours, minutes, seconds); exit }'`
echo $uptime

1日、20時間、10分、55秒のようなものが返されます

于 2013-07-18T19:28:58.777 に答える
0

Cutメソッドの代わりに値を取得するために私が行うことは次のとおりです

sysctl kern.boottime | awk '{print $5}'

ここで、$5は文字列の範囲です

$1 Gives you "sysctl kern.boottime"
$2 Gives you "{"
$3 Gives you "sec"

文字列から

kern.boottime: { sec = 1604030189, usec = 263821 } Fri Oct 30 09:26:29 2020
于 2020-11-03T07:43:51.103 に答える