28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

66 C5 Puntiamo più in alto<br />

massima richiesta di priorità. In maniera concorde a quanto richiesto dal valore di nice<br />

richiesto, il sistema imposterà la priorità del processo (l’effettivo privilegio nell’accesso alle<br />

risorse della macchina) visibile nella colonna PRI. È implicito che il sistema consente di<br />

modificare il nice di un processo solo al proprietario di quel processo (e all’amministratore<br />

di sistema), così come solo il proprietario può terminare un processo.<br />

Priorità e nice 5.7.4<br />

La colonna PRI indica come già visto la priorità alla quale il processo stà girando. Questo<br />

valore viene impostato dal sistema e non è modificabile dall’utente.<br />

La colonna NI indica invece il nice di un processo. Questo valore è modificabile dal<br />

proprietario del processo e dal sistemista ed indica la richiesta di risorse alla quale far<br />

girare il processo. Un utente può utilizzare solo nice positivi e può solo percorrere la scala<br />

verso nice minori (ossia più prossimi al 19). Quindi se un utente modifica il nice di un<br />

processo a 10 gli sarà consentito cambiarlo successivamente ad un valore compreso fra 11<br />

e 19 e non inferiore a 10. Solo root avrà la possibilità di modificare in direzione opposta<br />

questo valore.<br />

Esistono due comandi standard per specificare il livello di nice al quale far girare un<br />

processo. Il primo è nice, si utilizza in fase di avvio del comando con la sintassi:<br />

$ nice -10 find ~ > ~/elenco_file &<br />

$<br />

In questo caso stiamo lanciando il comando con un nice pari a 10. Se invece volessimo<br />

ritoccare il nice di un processo running potremmo utilizzare il comando renice in questo<br />

modo:<br />

$ ps -A | grep find<br />

488 pts/2 00:00:00 find<br />

$ renice 19 488<br />

488: old priority 10, new priority 19<br />

$<br />

Il comando ci informa circa l’avvenuto cambiamento, il precedente nice ed il nice<br />

attuale.<br />

ps 5.7.5<br />

L’alternativa a top per visualizzare i processi è ps. Rispetto al suo analogo interattivo, ps<br />

non offre una gestione dei segnali ai processi (permette solo di visionarli) e non aggiorna<br />

automaticamente l’elenco dei processi mano a mano che il tempo passa. Questo significa<br />

che per avere una stampa aggiornata dei processi occorre rilanciare il comando. Perché<br />

allora usare un comando apparentemente tanto scomodo?<br />

Il motivo è che ps permette di conoscere in un batter d’occhio una mole incredibile di<br />

informazioni sui processi negata a top ed essendo un tool di riga di comando può passare<br />

i suoi dati in stream a grep o sort per particolari scopi.<br />

Facciamo qualche prova:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!