El principal servicio dentro de un sistema operativo linux es el servicio o DAEMON init. Este servicio ejecutará una serie de script dependiendo de su rublevel que puede ir desde 0 a 6. Estos scripts están situados en las carpetas etc/rcX.d/ y su nomeglatura indican si arranca o para el servicio asociado(S o K) y el orden de ejecución (0 a 99). Los niveles de arranquen van desde apagado de la máquina a reiniciado, pasando por sistema monousuario, sistema multiusuario con / sin nfs.

#indica el target o nivel actual
runlevel
#cambia a modo runlevel de forma temporal
init 5
#cambia de forma permanente el nivel de arranque
systemctr set-default runlevel0.target

Cada runlevel de inicio tiene asignados una serie de servicios, los cuales pueden ser personalizados. Para ello se utilizan paquetes como por ejemplo sysv-rc-conf.

El punto de entrad de toda esta configuración se encuentra en la carpeta /etc/init.d/ donde se ubican os servicios principales del sistema. En el caso de querer parar, arrancar o reiniciar alguno de los servicios que se encuentran agregados al sistema se ejecuta

/etc/init.d/nombre_servicio (start|stop|restart|reload)

El manejo de procesos del sistema se puede realizar con diferentes comandos. Los principales son

ps

Comando basado en la información del sistema localizada en /proc. La información inicial que muestra el comando al ejecutarlo es

p o PID: identificación del proceso.
P o PPID: padre del proceso
U o UID: usuario propietario del proceso
t o TT o TTT: terminal asociada al proceso
T o TIME: tiempo de uso de cpu
c o CMD: comando que inició el proceso
RSS: tamaño de la parte residente en memoria
SZ o SIZE: tamaño virtual de la imagen del proceso
NI: prioridad del proceso
C o PCPU: porcentaje de cpu 
STIME: 	hora de inicio del proceso
S o STAT: estado del proceso
{R,S,T,Z,D,X}

Para saber cuales son todas las opciones de salida ps –help all. Dentro de las opciones más importantes para formatear la salida:

-aux procesos de todos los usuarios con información añadida
-a: procesos principales
-u: información añadida
-x: procesos de todas las terminales y usuarios
-l: información añadida
-e: listado procesos
-f: información añadida
-o: mostrado de información concreta
-sort= ordenar segun campo 
–forest: formato árbol

Algunos ejemplos son

#muestra todos los comandos
ps -e
#muestra todos los comandos con informacion extendida
ps -ef o ps -eF
#muestra información sobre CPU, usuarios, etc... en notación diferente
ps aux
#muestra todos los procesos con los campos indicados
ps -eo pid,cmd,ni,s
#muestra la información de todos los procesos con en forma de árbol
ps -eH
#muestra todos los procesos con los campos indicados solo los de root
ps -eo user,pid,cmd,ni,s -u root
#muestra todos los procesos con los campos indicados excepto los de root
ps -eo user,pid,cmd,ni,s -u root -N
#muestra información seleccionada ordanandola por un campo concreto
ps -eo user,pid,cmd,ni,pcpu,sz --sort=pcpu | head -n 5
ps aux | sort -n -k 3 (donde k es la columna a ordenar)

top

Similar al anterior pero con información a tiempo real de los procesos en ejecución. Entre las opciones de formateo:

-d 1: intervalo de tiempo en segundos para refrescar la informacion
-o TIME: ordena la salida por la propiedad indicada
-u root: muestra los procesos del usuario indicado

htop

Idéntico al anterior con la diferencia que la información se muestra mediante un menú configurable mediante pulsaciones de teclado

 nice / renice

Nice establece la prioridad en un proceso indicado reiniciandolo

nice -n -20 sudo nano /etc/fstab

Renice reestablece la prioridad del proceso sin necesidad de reiniciarlo

renice -20 1

kill / killAll

Kill elimina un proceso de ejecución. Las principales opciones son

kill -l (lista señales disponibles)
kill -9 2 (señal) (id proceso)

KillAll elimina todos los procesos que cumplan determinadas características

Servicios

Systemd es un gestor de servicios para Linux que sustituye al gestor SysV (aún presente en Ubuntu y compatible) que permite la ejecución y gestión de servicios en el sistemas operativos. Ofrece la posibilidad de ejecución paralela de servicios, lo que mejora en mucho el arranque del sistema al no ser una ejecución secuencial. Algunas de las herramientas que ofrece el gestor systemd son:

Gestión del sistema

systemd-analyze
systemd-analyze blame
systemd-analyze critical-chain

Gestión de servicios

systemctl strat | stop | restart | reload nombre_servicio
systemctl status nombre_servicio
systemctl enable | disable nombre_servicio
systemctl -list-unit-files --type = service  | --state = | --all
systemctl is-enabled | is-disabled nombre_servicio
systemctl list-dependencies nombre_servicio

Gestión de targets

Definidos como el conjunto de servicios que se ejecutan ante un determinado escenario situados en la ruta /etc/systemd/system.

systemctl list-unit-files --type = target
systemctl get-default
systemctl set-default runlevel3.target
systemctl isolate graphical.target

Los directorios existentes y sus dependencias son:

0 runlevel0.target, poweroff.target Cierra y termina el sistema
1, s, single runlevel1.target, rescue.target Usuario único.
2, 4 runlevel2.target, runlevel4.target, multi-user.target Definidos por el usuario.
3 runlevel3.target, multi-user.target Multiusuario sin ejecución gráfica.
5 runlevel5.target, graphical.target Multiusuario con ejecución gráfica
6 runlevel6.target, reboot.target Cierra y el sistema.
emergency emergency.target Consola de emergencia.