Cách tốt nhất để có được thời gian hoạt động UNIX trong Java là gì? Có một thư viện/hàm Java chuẩn nào mà tôi có thể sử dụng hay nên sử dụng exec của Runtime hay ProcessBuilder để thực thi 'uptime'? Cảm ơnLàm thế nào để có được thời gian hoạt động UNIX trong Java?
Trả lời
Bạn có thể đọc /proc/uptime
:
new Scanner(new FileInputStream("/proc/uptime")).next();
//"1128046.07" on my machine and still counting
Từ Wikipedia:
Hiển thị bao lâu hệ thống đã có mặt trên vì nó đã được khởi động lại lần cuối:
$ cat /proc/uptime
350735.47 234388.90
Số đầu tiên là tổng số giây hệ thống đã tăng. Số thứ hai là bao nhiêu thời gian mà máy đã bỏ không hoạt động, tính bằng giây.
hoàn hảo! cảm ơn bạn tôi sẽ chấp nhận một khi bộ đếm thời gian cho tôi – Sam
Điều đó tốt cho Linux, nhưng không phải tất cả các hệ thống UNIX. Bạn có thể thấy từ liên kết Wikipedia của bạn rằng nó sẽ không hoạt động trên BSD, ví dụ. – vipw
theo thử nghiệm của tôi về số thứ hai RHEL là thời gian không hoạt động của tất cả các bộ vi xử lý, vì vậy nó có thể lớn hơn một lần đầu tiên '$ cat/proc/uptime 2418163.50 4809606.42' – Betlista
Runtime.getRuntime().exec('uptime');
Bạn đã thử cái này chưa? Lệnh duy nhất thực hiện điều gì đó tương đương với system('uptime');
trong java là runTime.exec()
. Thats tất cả tôi có thể nghĩ ra ..
này có khả năng là hoàn toàn hệ thống phụ thuộc nhưng bạn có thể sử dụng System.nanotime();
System.out.println("/proc/uptime " + new Scanner(new FileInputStream("/proc/uptime")).next());
System.out.println("System.nanoTime " + System.nanoTime()/1e9);
in
/proc/uptime 265671.85
System.nanoTime 265671.854834206
Cảnh báo: Đây là khó có khả năng làm việc trên tất cả các nền tảng.
- 1. Làm thế nào để có được dấu thời gian Unix trong MySQL từ thời gian UTC?
- 2. Thời gian Unix của Python không hoạt động trong Javascript
- 3. Làm thế nào để có được ngày trong tuần từ một dấu thời gian Unix (PHP)?
- 4. Làm thế nào để có được một dấu thời gian Unix trong Clojure?
- 5. Làm thế nào để đệm PCap unix hoạt động?
- 6. Sử dụng UFormat để có được unix thời gian
- 7. làm thế nào để có được thời gian trong millis trong C++ giống như java
- 8. Làm cách nào để chuyển đổi từ Lịch Gregorian sang Thời gian Unix, trong Java?
- 9. Làm thế nào để có được thời gian thời gian trong C#?
- 10. Làm thế nào để bạn đặt thời gian và chỉ thời gian trong lịch trong Java?
- 11. Làm thế nào để nhận được thời gian tính bằng mili giây kể từ thời kỳ unix trong Javascript?
- 12. Chuyển đổi thời gian Unix thành Ngày có thể đọc được trong Java
- 13. Làm thế nào tôi có thể chuyển đổi một dấu thời gian ISO8601 thành thời gian unix trong Perl?
- 14. Làm cách nào để tạo các dấu thời gian Unix?
- 15. Làm thế nào để thời gian một hoạt động trong mili giây trong Ruby?
- 16. Thời gian Unix trong SQL
- 17. Làm cách nào để chuyển đổi chuỗi HH: MM: SS thành thời gian thời gian UNIX?
- 18. Làm thế nào để chuyển đổi một dấu thời gian unix thành dấu thời gian ISO8601 trong PHP?
- 19. Làm thế nào để có được thời gian để ứng dụng khởi động?
- 20. Làm thế nào để chuyển đổi thời gian epoch Unix trong sqlite
- 21. Làm cách nào để nhận được thời gian GMT trong Unix?
- 22. Quản lý hoạt động thời gian rất dài với Java
- 23. Dấu thời gian Unix trong sqlite?
- 24. Làm thế nào để định dạng một dấu thời gian Unix trong Delphi?
- 25. Làm thế nào để chuyển đổi NSDate thành dấu thời gian Unix trong Objective C/iPhone?
- 26. làm thế nào để tạo ra một lớp năng động tại thời gian chạy trong Java
- 27. Định dạng thời gian UNIX UNIX
- 28. Ngôn ngữ/thời gian hoạt động dựa trên JVM tạo ra bytecode Java như thế nào?
- 29. Làm thế nào để chuyển đổi dấu thời gian java thành dấu thời gian php?
- 30. Làm thế nào để bithifting hoạt động trong Java?
bản sao có thể có của [Thời gian hoạt động của hệ thống truy vấn (không phải JVM) trong Java] (http://stackoverflow.com/questions/674106/query-for-system-not-jvm-uptime-in-java) –
@TomaszNurkiewicz Tôi đã nhìn thấy câu hỏi đó sớm hơn nhưng có vẻ như nó yêu cầu một giải pháp bất khả tri nền tảng. Tôi đang tìm một cái gì đó mà có thể làm việc cụ thể trên máy Nix – Sam
Xin lỗi, và tôi thực sự tìm thấy một giải pháp * NIX, xem câu trả lời của tôi. –