Preguntas y respuestas de teoría sobre procesos en Linux.
- ¿Qué es un proceso?
Es una
instancia de un programa en ejecución con su propio espacio de direcciones.
Todo lo que ejecutamos sobre Linux es un proceso.
- ¿Qué es un proceso en primer plano?
Un
proceso que se ejecuta bloqueando para él la terminal desde la que se lanzó.
- ¿Qué es un proceso en segundo plano?
Un
proceso que se ejecuta sin bloquear la terminal, aunque sí puede escribir en
ella los resultados de su ejecución.
- ¿Qué es proceso un demonio?
Proceso que se ejecuta en segundo plano.
Estos demonios ejecutan diferentes funciones y proporcionan ciertos servicios,
pero sin la interacción del usuario; son procesos que no "notamos" su
ejecución.
- ¿Y un proceso zombie?
Es un proceso que ha completado su
ejecución pero aún tiene una entrada en la tabla de procesos, permitiendo al
proceso padre leer el estado de su salida.
- Define proceso padre y proceso hijo, indicando las diferencias que existen entre ellos.
El
proceso padre es creado antes que el proceso hijo, el cuál, hereda del padre:
• Entorno
•
Permisos
• Control
de la terminal
•
Archivos abiertos
• Límites
de los recursos
- ¿Qué fichero contiene los perfiles de usuarios que inician sesión en Linux?
/home
- ¿Para qué sirve el PID de un proceso?
Sirve
para identificar mediante un número a cada proceso.
- ¿Todos los procesos tienen el mismo PID?
No, cada
proceso tiene un PID independiente.
- ¿Cómo eliminamos un proceso en Linux?
$ kill <pid>
Siendo <pid>
el id del proceso.
- ¿De qué manera programamos una tarea en Linux?
Existen
varias maneras:
La orden at
permite planificar trabajos para una ejecución posterior. Se ejecuta dando
una hora y fecha como argumentos de la orden; at leerá de la entrada
estándar la orden a ejecutar en esa hora, finalizando con CTRL-D, a menos
que redirijamos la entrada.
El
comando batch planifica trabajos para que se ejecuten posteriormente, a
diferencia de at, es el sistema quien decide cuando de se ejecutará el
comando. Cuando se planifica una tarea con batch, Linux comienza y trabaja en
el proceso siempre que la carga no sea demasiada alta. Las tareas que se
ejecutan con batch se hacen en segundo plano.
- ¿En qué ficheros se guarda la información relacionada con los permisos at y cron?
En el
directorio /etc en los ficheros at.deny, at.allow, cron.deny y cron.allow.
Cada usuario
puede tener un archivo o fichero crontab
propio, archivo que se genera en el directorio:
/var/spool/cron/nombre_usuario
- ¿Cuál es el primer proceso que se inicia cuando arrancamos Linux? ¿Es un proceso hijo o padre?
Init (abreviatura
de initialization) es el padre de todos los procesos, el primer proceso en
ejecución tras la carga del kernel y el que a su vez genera todos los
demás procesos. Se ejecuta como demonio y por lo general tiene PID 1.
- ¿Cómo podemos crear procesos?
Existen dos formas de crear procesos:
• Creados por programa. Se consideran hijos del
proceso que desencadenó su creación.
• Creados por procesos. Pueden considerarse padres
independientes.
- Indica las diferencias si existen entre proceso y comando Linux.
Un
proceso es la ejecución de algo mientras que un comando es lo que se usa para
poner en marcha un proceso.