Comandi Linux · 5 min read · Sep 19, 2025
Tutorial sui comandi Linux nice e renice (7 esempi)
La potenza della riga di comando di Linux può essere valutata dal fatto che puoi anche facilmente modificare la priorità di pianificazione dei processi utilizzando strumenti da riga di comando. Sì, è possibile, e in questo tutorial discuteremo come farlo utilizzando le utility nice e renice.
Ma prima di farlo, vale la pena menzionare che tutti gli esempi in questo articolo sono stati testati su un sistema Ubuntu 16.04LTS.
Comandi Linux nice e renice
Mentre il comando nice ti consente di eseguire un programma/processo con priorità di pianificazione modificata, il comando renice ti consente di cambiare la priorità di pianificazione di un processo già in esecuzione. Di seguito è riportata la sintassi generica per entrambi questi comandi:
nice [OPZIONE] [COMANDO [ARG]...]renice [-n] priorità [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]Ecco cosa hanno da dire le rispettive pagine man su di essi:
Nice:
Esegui il COMANDO con una gentilezza regolata, che influisce sulla pianificazione dei processi. Senza COMANDO, stampa la gentilezza attuale. I valori di gentilezza vanno da -20 (più favorevole al processo) a 19 (meno favorevole al processo).Renice:
Renice altera la priorità di pianificazione di uno o più processi in esecuzione. I seguenti parametri sono interpretati come ID di processo, ID di gruppo di processo o nomi utente. Renice'ing un gruppo di processi causa la modifica della priorità di pianificazione di tutti i processi nel gruppo di processi. Renice'ing un utente causa la modifica della priorità di pianificazione di tutti i processi di proprietà dell'utente. Per impostazione predefinita, i processi da modificare sono specificati dai loro ID di processo.Di seguito sono riportati alcuni esempi in stile Q&A che ti daranno un’idea migliore di come funzionano questi strumenti.
D1. Come controllare la gentilezza dei programmi/processi in esecuzione?
Sì, prima di tutto dovresti sapere come controllare la priorità di pianificazione esistente prima di cambiarla. Se si tratta del processo che stai per eseguire, allora dovresti sapere che la priorità di pianificazione predefinita è sempre 0.
Ad esempio, abbiamo eseguito il seguente processo:
./test-newE abbiamo confermato la priorità utilizzando il seguente comando:
ps -lu himanshu | grep test-newQui, ‘himanshu’ è l’utente che possiede il processo ‘test-new’. Di seguito è riportato l’output prodotto dal comando sopra:
0 S 1000 6306 6125 0 80 0 - 508 hrtime pts/18 00:00:00 test-newIl valore nella 8ª colonna è il valore di gentilezza, e come puoi vedere, è zero.
D2. Come funziona il comando nice?
Quindi ora arriviamo al punto, come funziona il comando nice? È facile: basta utilizzare lo strumento nel seguente modo:
nice -PRIORITY COMANDOAd esempio, se voglio che la priorità di pianificazione sia 10, ecco come posso farlo:
nice -10 ./test-newDi seguito è riportato l’output del comando ps in questo caso, confermando che la priorità è stata cambiata a 10.
0 S 1000 6694 6125 0 90 10 - 508 hrtime pts/18 00:00:00 test-newD3. Come far funzionare nice con valori negativi?
Come già accennato all’inizio, i valori di gentilezza vanno da -20 a 19, con il primo che è il più favorevole, mentre l’ultimo è il meno favorevole. Nel caso tu voglia associare un valore di gentilezza negativo al processo, dovrai usare il doppio trattino.
Ad esempio,
sudo nice --10 ./test-newSi prega di notare che è necessario avere privilegi di root per associare un valore di gentilezza negativo a un processo. E precisamente per questo motivo, il tuo comando ps per confermare la nuova gentilezza dovrebbe contenere ‘root’ invece dell’altro nome utente.
$ ps -lu root | grep test-new
Ecco l’output che questo comando ha prodotto nel nostro caso:
4 S 0 7054 7053 0 70 -10 - 508 - pts/18 00:00:00 test-newQuindi puoi vedere che il processo ora sta girando con un valore di gentilezza di -10.
D4. Come aggiungere un valore intero fisso alla gentilezza?
Puoi regolare il valore di gentilezza utilizzando l’opzione da riga di comando -n, che aggiunge un valore intero fisso alla gentilezza. Per impostazione predefinita, questo valore fisso è 10, anche se puoi passare un valore diverso.
-n, --adjustment=NAd esempio:
nice --adjustment=5 ./test-newEcco l’output che il comando ps ha prodotto in questo caso:
0 S 1000 7314 6125 0 85 5 - 508 hrtime pts/18 00:00:00 test-newQuindi puoi vedere che è stata impostata una priorità di 5.
D5. Come cambiare la priorità dei processi in esecuzione?
Mentre il comando nice viene utilizzato durante il lancio dei programmi, il comando renice ti consente di cambiare la priorità di un processo in esecuzione. Ad esempio, ecco come abbiamo cambiato la priorità del processo ‘test-new’ già in esecuzione da 5 a 15.
renice -n 15 -p 7314L’argomento -p è per l’ID del processo. Di seguito è riportato l’output prodotto dal comando sopra:
7314 (ID processo) vecchia priorità 5, nuova priorità 15E il valore di gentilezza è stato effettivamente cambiato a 15.
D6. Come cambiare la priorità per tutti i processi appartenenti a un gruppo?
Puoi usare l’opzione -g per questo. Ad esempio:
renice -n 20 -g howtoforgeIl comando sopra cambierà la priorità di tutti i processi appartenenti al gruppo ‘howtoforge’.
D7. Come cambiare la priorità per tutti i processi appartenenti a un utente?
Per cambiare la priorità di tutti i programmi associati a un utente, usa l’opzione -u. Ad esempio:
renice -n 5 -u himanshuCerto, un normale utente della riga di comando di Linux non si troverà di solito in situazioni in cui questi strumenti sono necessari, ma è sempre utile avere conoscenza di strumenti da riga di comando importanti, e nice e renice sono tra questi. La cosa bella è che la curva di apprendimento associata a loro non è affatto ripida. Abbiamo già discusso la maggior parte delle opzioni qui. Per ulteriori informazioni su queste utility, vai alle loro pagine man - qui e qui.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.