El comando nice en Linux nos permite modificar la prioridad de un proceso frente al resto dentro del sistema. El kernel Linux es el encargado de planificar y asignar tiempo de CPU a cada uno de los procesos que corren en el sistema. El rango de asignación de prioridad disponible es de -20 a 19 , siendo -20 la mayor prioridad y 19 la menor. Gracias a nice podemos asegurarnos que en momentos de usos elevados de CPU los procesos adecuados reciban el mayor % de la misma.
La sintaxis del comando nice es la siguiente:
# nice -n<PRIORIDAD> COMANDO
Así pues, si quisiéramos ejecutar un proceso con la mayor prioridad disponible (en este caso el script prueba.pl) haríamos lo siguiente:
# nice -n-20 ./prueba.pl
Nota: es necesario ser superusuario para poder utilizar el comando nice
Ejecutando el comando ps observaremos como efectivamente la prioridad ha sido asignada correctamente:
# ps al F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 4204 3985 0 -20 1872 504 n_tty_ S<+ pts/0 0:00 /bin/sh ./prueba.pl
Nota: hay que pasar el parámetro l
para visualizar la columna de nice.
Si en cambio quisieramos que tuviera la mínima prioridad pues haríamos todo lo contrario:
# nice -n20 ./prueba.pl
Si ejecutamos el comando nice sin parámetros nos indicará el valor asignado actualmente para nice:
# nice 0
Está mal un dato, los valores de la prioridad van desde -20 a 19.
Corregido. ¡Gracias por el aviso!