Qual è il modo migliore per ottenere il tempo di attività UNIX in Java? C'è una libreria/funzione Java standard che potrei usare o dovrei usare l'exec di Runtime o ProcessBuilder per eseguire 'uptime'? GrazieCome ottenere tempo di attività UNIX in Java?
risposta
Si può leggere /proc/uptime
:
new Scanner(new FileInputStream("/proc/uptime")).next();
//"1128046.07" on my machine and still counting
Da Wikipedia:
Indica quanto tempo il sistema è stato in da quando è stata l'ultima riavviato:
$ cat /proc/uptime
350735.47 234388.90
Il primo numero è il numero totale di secondi del sistema . Il secondo numero indica la quantità di tempo in cui la macchina ha trascorso inattività, in secondi.
perfetto! grazie accetterò una volta il timer lasciatemi – Sam
Questo è un bene per Linux, ma non tutti i sistemi UNIX. Ad esempio, dal tuo link di Wikipedia puoi vedere che non funzionerà su BSD. – vipw
secondo il mio test sul secondo numero RHEL è il tempo di inattività di tutti i processori, quindi può essere più grande del primo '$ cat/proc/uptime 2418163.50 4809606.42' – Betlista
Runtime.getRuntime().exec('uptime');
Hai provato? L'unico comando che fa qualcosa di equivalente a system('uptime');
in java è runTime.exec()
. Questo è tutto quello che riuscivo a pensare ..
Questo rischia di essere completamente dipendente dal sistema, ma è possibile utilizzare System.nanotime();
System.out.println("/proc/uptime " + new Scanner(new FileInputStream("/proc/uptime")).next());
System.out.println("System.nanoTime " + System.nanoTime()/1e9);
stampe
/proc/uptime 265671.85
System.nanoTime 265671.854834206
Attenzione: Questo è improbabile che funzioni su tutte le piattaforme.
- 1. Tempo Unix in SQL
- 2. Prendi tempo Unix millisecondi
- 3. Come ottenere il tempo in millisecondi dall'epoca unix in Javascript?
- 4. Come ottenere il tempo di attività del sistema in Windows?
- 5. Usa UFormat per ottenere il tempo unix
- 6. Converti tempo Unix in leggibile Data in Java
- 7. Conversioni di tempo Unix in C#
- 8. Esegui attività a tempo pianificato java, apache
- 9. Uso di django prefetch_related() per ottenere il tempo dell'ultima attività
- 10. Come convertire il tempo di un epoca Unix in sqlite
- 11. Converti tempo Unix con PowerShell
- 12. Attività ripetitive in intervalli di tempo specifici?
- 13. Tempo di modifica file su UNIX utilizzando utime in C
- 14. Come ottenere unix timestamp in Net
- 15. Java in esecuzione come servizio Unix
- 16. Ottieni tempo POSIX/Unix in secondi e nanosecondi in Python?
- 17. Come convertire il tempo MySQL in UNIX timestamp usando PHP?
- 18. Come convertire un timestamp unix in un tempo leggibile dall'uomo?
- 19. Attività di pianificazione in primavera/Java
- 20. Come posso convertire da Calendario Gregoriano a Tempo Unix, in Java?
- 21. Unix stat()/lstat() per Java
- 22. Socket di dominio UNIX in Java
- 23. pianificazione attività timer java
- 24. Ottenere il tempo di esecuzione di un thread java
- 25. attività di background java
- 26. Come ottenere il percorso di un processo in Unix/Linux
- 27. Stima del tempo nelle attività
- 28. Tempo di esecuzione della CPU in Java
- 29. Esiste una libreria Java di funzioni Unix?
- 30. Come ottenere lo stato di completamento del programma Java dallo script di shell unix?
possibile duplicato di [Query per uptime di sistema (non JVM) in Java] (http://stackoverflow.com/questions/674106/query-for-system-not-jvm-uptime-in-java) –
@TomaszNurkiewicz Ho visto quella domanda prima, ma sembra chiedere una soluzione agnostica della piattaforma. Sto cercando qualcosa che possa funzionare in modo specifico sulle macchine Nix – Sam
Scusate, e ho effettivamente trovato una soluzione * NIX, vedere la mia risposta. –