1. ¿Qué es el PID de un proceso en GNU/Linux?
El PID es un número único asignado a cada proceso en ejecución en GNU/Linux para identificarlo y gestionarlo de manera eficiente.
2. ¿Qué diferencia hay entre la opción -a
y la opción -x
de la orden ps
?
La opción -a
muestra todos los procesos de todos los usuarios, excepto los procesos que no están asociados a una terminal.
La opción -x
muestra todos los procesos, incluidos aquellos que no están asociados a una terminal, como los procesos en segundo plano.
3. ¿Qué es el número NICE de un proceso? ¿Qué valores puede tomar el parámetro NICE? ¿Qué usuarios pueden cambiar este parámetro?
El número NICE permite iniciar un proceso con una determinada prioridad. Los valores que puede tomar van desde -20 (prioridad más alta) hasta +19 (prioridad más baja). Solamente el usuario root puede cambiar las prioridades.
4. Listar todos los archivos que contengan la cadena «.jpg» dentro de la estructura de directorios del sistema. Usar la orden ls
y grep
.
ls -R | grep ".jpg"
// ps aux | grep .jpg
5. Ejecutar otra vez la orden anterior, pero esta vez con la prioridad más baja posible.
nice -n 19 ls
// nice -n 19 ls -R | grep "/.jpg"
6. Abrir otro terminal, y mientras la orden anterior se ejecuta, mediante la orden ps
listar todos los procesos asociados al terminal del usuario actual y obtener el PID del proceso ls
. Con la orden renice
otorgar la máxima prioridad a la orden ls
. Después con la orden kill
terminar el proceso de la manera “más correcta” posible.
nice -n 19 ls -R | grep "/.jpg" &
ps aux | grep "ls"
renice -20 <PID>
kill <PID>
7. Visualizar mediante el editor vi
el archivo que contiene la información de los usuarios del sistema. Ejecutar el programa vi
con la máxima prioridad posible.
sudo nice -n -20 vi /etc/passwd
(PID del editor vi) // pstree -p | grep vi
obtenemos su proceso padre
9. Mediante la orden top
establecer una prioridad normal al editor vi
y después terminar el proceso del editor.
Primero de todo poner el comando sudo nice -n -20 vi /etc/passwd
y ya luego en otra ventana poner sudo top
y dentro buscar el proceso vi
, presionar r
, para dar la vuelta el orden es con Shift + N
(suele estar al final), luego poner el PID y ya ingresar el valor de prioridad y luego terminar el proceso pulsando la tecla k
y luego poner el número 9
que es lo que sirve para matar el proceso.
10. Ejecutar el navegador WEB mozilla
desde el terminal en segundo plano. Indicar el número de trabajo y su PID.
firefox &
// jobs
ps aux | grep firefox
12. Mediante la orden jobs
listar todos los trabajos en segundo plano del terminal.
sleep 500 &
y luego jobs
13. Mirar los procesos existentes en el sistema y lanzar un proceso que dure 600 segundos en 1º plano (p.e. sleep 600
)
sleep &
14. Mata el proceso ¿Qué observamos? ¿Aparecen los mismos procesos que al principio?
ps aux | grep sleep
kill <PID>
15. Repetimos el 13 y el 14, pero ahora sólo queremos detener el proceso (no cancelarlo). ¿Qué observamos? ¿Aparecen los mismos procesos que al principio?
sleep 600
#en otra terminal
ps aux | grep sleep
16. ¿Cómo podemos hacer para que continúe el proceso en 1º plano? ¿Se puede hacer con la orden kill
?
No se puede hacer con el comando kill
porque no se usa para mover un proceso al primer plano, sino para enviar señales a los procesos. Se utilizaría el comando fg
que si que serviría para mover un proceso al primer plano.
El comando some_process &
sirve para ejecutar un proceso en segundo plano y así no bloquear la terminal y cuando se añade un &
al final sirve para seguir usando la terminal para otros comandos mientras el proceso se está ejecutando en segundo plano.
17. Indica dos maneras para que un proceso detenido, continúe en 2º plano.
1º Ejecutar firefox
y luego ponerlo en pausa con el comando killall -19 firefox
y luego enviamos el proceso a segundo plano con bg
.
2º Con el comando &
se manda directamente a segundo plano.
18. Lanzar un proceso en 2º plano y obtener su PID. ¿Cuál es su número de trabajo y nº de proceso?
1º Lanzar firefox &
en segundo plano y ya de ahi lanzar el comando jobs
para ver si se está ejecutando en segundo plano y ya para ver el PID se lanza el comando ps aux | grep firefox
que en este caso el PID es 13694
19. Si un proceso lanzado en 2º plano termina su ejecución, ¿seguirá apareciendo en la salida de jobs
? Razona tu respuesta.
No, cuando un proceso está en segundo plano termina desaparece de la salida del jobs
20. Detén y vuelve a recontinuar en 2º plano un proceso lanzado en 1º plano
sleep 600
# En otra terminal
ps aux | grep sleep