Informazioni sui processi in Java e ProcessHandle
Ho scoperto che da Java 9 la Process API è stata implementata e migliorata.
Quindi oggi vediamo come usarla per visualizzare i processi di sistema ed eventuali process figli.
Ho scoperto che da Java 9 la Process API è stata implementata e migliorata.
Quindi oggi vediamo come usarla per visualizzare i processi di sistema ed eventuali process figli.
Ci sono alcune operazioni per le quali sarebbe meglio cambiare la priorità, in modo da usare al meglio le risorse di sistema.
Su Linux possiamo cambiare priorità ad un processo usando ionice!
Facciamo un esempio reale: vogliamo cancellare da riga di comando file molto grandi (anche 300GB), senza bloccare il pc.
Qualche tempo fa, avevo sempre un problema con un processo che ad un certo punto si bloccava.
E mi serviva sapere da quanto tempo era attivo, in quanto sarebbe dovuto "durare" circa un minuto (e non ore....).
Capire da quanto tempo un processo è attivo, su Linux, è abbastanza semplice usando ps.
Oggi ho scoperto un utile comando su Linux, che in pratica ci permette di sapere il PID di un processo indicandone il nome: pidof!
Certo, la stessa cosa si potrebbe ottenere anche con il comando ps.
Ma ps da tantissime informazioni, e non è sempre di facile lettura.
Linux è un sistema multi-utente, e come tale ogni utente ha i suoi processi personali, oltri a quelli di sistema.
Oggi vediamo come fare per nascondere la visualizzazione dei processi degli altri utenti.
Per farlo dobbiamo montare il filesystem /proc con l'opzione hidepid.
Questa opzione può avere tre valori:
Tutti conoscono il comando grep, ma non tutti conoscono pgrep.
Bene, questo utile comando (che trovate anche in Mac OS X) è acronimo di process grep, e permette di identificare i processi usando particolari filtraggi.
In genere per queste cose viene usato il comando ps, ma pgrep risulta più flessibile.
Vediamo qualche esempio.