在Java中获得UNIX正常运行时间的最佳方法是什么?是否有我可以使用的标准Java库/函数,还是应该使用Runtime的exec或ProcessBuilder来执行'uptime'?感谢
答案 0 :(得分:8)
您可以阅读/proc/uptime
:
new Scanner(new FileInputStream("/proc/uptime")).next();
//"1128046.07" on my machine and still counting
来自Wikipedia:
显示系统自上次重新启动以来已运行多长时间:
$ cat /proc/uptime
350735.47 234388.90
第一个数字是系统启动的总秒数。第二个数字是机器闲置的时间,以秒为单位。
答案 1 :(得分:3)
Runtime.getRuntime().exec('uptime');
你尝试过这个吗?在java中执行等同于system('uptime');
的操作的唯一命令是runTime.exec()
。这就是我能想到的全部......
答案 2 :(得分:3)
这可能完全取决于系统,但您可以使用System.nanotime();
System.out.println("/proc/uptime " + new Scanner(new FileInputStream("/proc/uptime")).next());
System.out.println("System.nanoTime " + System.nanoTime() / 1e9);
打印
/proc/uptime 265671.85
System.nanoTime 265671.854834206
警告:这不太适用于所有平台。