Está en la página 1de 22

IES Nº 1 Gijón

Curso 2020-2021
Marco A. García
 El nivel de ejecución es simplemente una
descripción del estado en el que va a
arrancar el sistema.
 Son configuraciones de arranque que
pueden ser modificadas por el
administrador del sistema.
 Existen 8 niveles diferentes.

SORE - Marco A. García 9/8/2020 3


 Cada nivel con su función son los siguientes:
◦ 0: apagar el equipo.
◦ 1: arrancar en modo monousuario como root.
◦ 2: arrancar en modo multiusuario sin soporte de
red.
◦ 3: arrancar en modo multiusuario con soporte de
red.
◦ 4: ídem anterior.
◦ 5: arrancar en modo multiusuario con soporte de
red y entorno gráfico.
◦ 6: reiniciar el equipo.
◦ S: ídem al nivel 1

SORE - Marco A. García 9/8/2020 4


 Ubuntu gestiona los runlevels de la siguiente
manera:
◦ 0: apagar el equipo.
◦ 1: arrancar en modo monousuario como root.
◦ 2-4: arrancar en modo multiusuario con soporte
de red.
◦ 5: arranca en modo multiusuario en modo
gráfico.
◦ 6: reiniciar el equipo.
Para mas información:
http://en.wikipedia.org/wiki/Runlevel

SORE - Marco A. García 9/8/2020 5


 Los niveles 0, 1 y 6 son reservados.
 Los demás son definibles y modificables por
el usuario.
 El nivel de ejecución normal de un equipo
servidor es el nivel 3 (5 desde la versión
18.04).
 Para cambiar el nivel de ejecución y pasar a
otro diferente se puede utilizar el comando
telinit pero hay que ser root para poder
ejecutarlo.

SORE - Marco A. García 9/8/2020 6


 Un proceso es una instancia de un programa en
ejecución.
 Un proceso va a tener un número de
identificación de proceso (PID) además de
prioridad, espacio asignado en memoria,etc.
 Para lanzar un proceso en primer plano
(foreground), escribimos el nombre del
comando o del ejecutable en una terminal y
pulsamos <ENTER>
 El shell no nos devolverá el prompt hasta que
termine la ejecución del proceso o hasta que lo
interrumpamos.

SORE - Marco A. García 9/8/2020 7


 Al lanzar un proceso en primer plano no
podemos lanzar un nuevo proceso hasta que el
anterior finalice.
 Para evitarlo y liberar el prompt podemos lanzar
procesos en segundo (background) plano
añadiendo al final de la línea de órdenes un &
 Esto está indicado para procesos que no
esperan recibir entrada de datos desde el
teclado.
 Un proceso lanzado en primer plano puede
pasarse a segundo plano deteniéndolo con
CTRL+Z, y luego invocando al comando bg con
el número de tarea como argumento.

SORE - Marco A. García 9/8/2020 8


 Igualmente, una tarea en background puede
ser traído a primer plano con el comando fg
 El comando jobs muestra la lista de tareas
asociadas a una terminal que se están
ejecutando en background o detenidas.
 El comando nohup se utiliza para continuar
la ejecución de un proceso
independientemente de que se cierre la
terminal, ya que hace que se ejecute
independientemente de la sesión.

SORE - Marco A. García 9/8/2020 9


 Para obtener información sobre los procesos
en ejecución se pueden utilizar los
siguientes comandos:
 ps: Informa del estado de los procesos. Tiene
varias opciones para mostrar diferentes
columnas.
 top: Muestra la información sobre el sistema
actualizada por defecto cada 3 segundos.
 pstree: muestra información sobre los procesos
en forma de árbol.

SORE - Marco A. García 9/8/2020 10


 Comandos para gestionar prioridades
 nice: Ejecuta un comando con una prioridad
determinada. Utiliza una prioridad variable que
parte de la prioridad del shell y suma o resta
valores. Mientras menor es el valor de la prioridad
mayor prioridad tiene el proceso.
 renice: Permite alterar la prioridad de un proceso
en ejecución. Los usuarios normales solamente
podrán incrementar la prioridad (despriorizar)
mientras que el root podrá subirla o bajarla.

SORE - Marco A. García 9/8/2020 11


 Si el proceso se ejecuta en primer plano
(foreground) podemos interrumpirlo
pulsando CTRL+C.
 Los procesos que se están ejecutando tanto
en primer plano como en segundo plano
pueden detenerse con los siguientes
comandos:
 kill: Permite enviar una señal a un proceso. Si la
señal enviada es la 9 (SIGKILL) mata al proceso.
 killall: mata todos los procesos asociados al
programa que le indiquemos.

SORE - Marco A. García 9/8/2020 12


 Los servicios son programas auxiliares del SO que se ejecutan
en segundo plano.
 Los servicios se inician cuando el SO alcanza un determinado
nivel de ejecución y se pueden detener cuando el SO alcanza un
nivel de ejecución distinto.
 Los usuarios privilegiados pueden iniciar y detener servicios.
 El sistema de gestión de servicios clásico (System V) fue
sustituido en Ubuntu (desde la versión 9.10) por Upstart.
 En la actualidad la mayoría de distros de Linux (incluido Ubuntu
desde la versión 15.04) han migrado al sistema de gestión de
servicios systemd.
 Comandos para saber el estado en el que se encuentran los
servicios:
 service (upstart, retrocompatible con scripts de system v)
 initctl (upstart)
 chkconfig (systemv)
 sysv-rc-conf (systemv)
 systemctl (retrocompatible con system v)

SORE - Marco A. García 9/8/2020 13


 Los servicios System V suelen tener scripts de
arranque/parada en la carpeta /etc/init.d
 La forma de iniciar servicios manualmente es:
sudo /etc/init.d/nombre_servicio start
 Los servicios de tipo upstart se inician
manualmente de la siguiente manera:
sudo start nombre_servicio
 El siguiente comando permite gestionar
indistintamente scripts system V como upstart:
sudo service nombre_servicio start

SORE - Marco A. García 9/8/2020 14


 Los servicios gestionados por systemd se
pueden iniciar con el siguiente comando:
sudo systemctl start nombre_servicio.service
 Se puede modificar el nivel en el que están
iniciados los servicios mediante los
siguientes comandos:
 sysv-rc-conf (system V)
 chkconfig (system V)
 update-rc.d (system V)
 Editando o comentando los scripts en /etc/init
(upstart)
 systemctl (systemd)

SORE - Marco A. García 9/8/2020 15


 La forma de detener servicios System V manualmente es:
sudo /etc/init.d/nombre_servicio stop
 Los servicios tipo upstart pueden detenerse manualmente
mediante:
sudo stop nombre_servicio
sudo service nombre_servicio stop
 Los servicios gestionados por systemd se pueden detener de la
siguiente manera:
sudo systemctl stop nombre_servicio.service
 Se puede modificar el nivel en el que están detenidos los
servicios mediante los siguientes comandos:
 sysv-rc-conf (system V)
 chkconfig (system V)
 update-rc.d (system V)
 Editando o comentando los scripts en /etc/init (upstart)
 systemctl (systemd)

SORE - Marco A. García 9/8/2020 16


 La forma de reiniciar servicios manualmente
es:
sudo /etc/init.d/nombre_servicio restart
 Los servicios tipo upstart pueden reiniciarse
manualmente mediante:
sudo restart nombre_servicio
sudo service nombre_servicio restart
 Los servicios gestionados por systemd
pueden reiniciarse manualmente mediante:
sudo systemctl restart nombre_servicio.service

SORE - Marco A. García 9/8/2020 17


 Se puede modificar el nivel de ejecución en
el que se inicia un servicio mediante los
siguientes comandos:
 sysv-rc-conf (system V)
 chkconfig (system V)
 update-rc.d (system V)
 Editando o comentando los scripts en /etc/init
(upstart)
 systemctl (systemd)

SORE - Marco A. García 9/8/2020 18


 Habilitar un servicio en el runlevel actual:
 systemctl enable nombre_servicio
 Comprobar si un servicio está habilitado en
el runlevel actual:
 systemctl is-enabled nombre_servicio
 Comprobar si un servicio está activo:
 systemctl is-active nombre_servicio
 Comprobar el estado de un servicio:
 systemctl status nombre_servicio

SORE - Marco A. García 9/8/2020 19


 Iniciar un servicio:
 systemctl start nombre_servicio
 Detener un servicio:
 systemctl stop nombre_servicio
 Cambiar el runlevel actual (X nuevo número
de runlevel) :
 systemctl isolate runlevelX.target
 Obtener la lista de servicios habilitados en el
runlevel actual:
 systemctl list-unit-files | grep enabled

SORE - Marco A. García 9/8/2020 20


 Obtener la lista de servicios en ejecución en
el runlevel actual:
 systemctl | grep running

 Fijar el runlevel por defecto (X número de


runlevel)
 systemctl set-default runlevelX.target

SORE - Marco A. García 9/8/2020 21


 http://somebooks.es/9-4-gestion-de-
servicios/
 https://www.digitalocean.com/community/t
utorials/how-to-configure-a-linux-service-
to-start-automatically-after-a-crash-or-
reboot-part-1-practical-examples
 https://www.digitalocean.com/community/t
utorials/systemd-essentials-working-with-
services-units-and-the-journal

SORE - Marco A. García 9/8/2020 22

También podría gustarte