05- GESTIÓN DE PROCESOS
Comandos para la gestion de procesos y del sistema en ambientes Linux.
Linux trabaja en dos planos de proceso: - Primer plano: utiliza la consola activamente e impide que la pueda seguir utilizando - Segundo plano: permite seguir utilizando la consola de comandos para otras cosas. Para mandar un comando a segundo plano hay que finalizar el comando con &. Para terminar un comando en primer plano ctrl+c Para pausar un comando en primer plano ctrl+z
NIVELES DE ACTIVACION DEL KERNEL
Nivel 0 --> Sistema detenido. Se paran los servicios al apagar el sistema.
Nivel 1 --> Mantenimiento. Servicios detenidos. Usado por el root.
Nivel 2 --> Tareas de administración. No se suele usar.
Nivel 3 --> Todos los servicios iniciados pero sin entorno gráfico.
Nivel 4 --> Similar al nivel 2.
Nivel 5 --> Similar al 3 pero con entorno gráfico.
Nivel 6 --> Nivel temporal. Nivel de un sistema que está reiniciando.
FICHEROS RELEVANTES
/etc/crontab --> nos permite modificar el system-wide crontab.
/etc/anacrontab --> permite ejecutar periodicamente los procesos sin estar 24h encendida por regla general, se ejecutan los cron, no procesos aislados.
/etc/cron.daily --> directorio donde se encuentran las tareas diarias del cron.
/etc/cron.weekly --> directorio donde se encuentran las tareas semanales del cron.
/etc/cron.monthly --> directorio donde se encuentran las tareas mensuales del cron.
/var/spool/anacron/cron.*--> pequeños ficheros con la ultima fecha que se inicio anacron. (daily, weekly, monthly)
/etc/rc0.d a rcS.d --> Se denominan runlevels y determinan que programas se ejecutan al inicio en LINUX.
rc0 --> apagado del sistema
rc1 --> modo monousuario (modo de rescate)
rc2-5 --> modo multiusuario (por defecto)
rc6 --> Reinicio del sistema
Dentro de cada nivel tenemos enlaces simbolicos a su carpeta en init.d que tienen la forma:
[K | S] + nn + [string]
K --> El servicio se detiene al llegar al runlevel
S --> El servicio se activa al llegar al runlevel
nn --> Dos numeros que indican la prioridad al llegar al runlevel
90 es la prioridad para el inicio
01 es la prioridad de detencion.
Si se añade un comando a un runlevel, hay que utilizar el comando update-rc.d
update-rc.d test.sh start 90 2 3 4 5 stop 01 0 1 6
update-rc.d test.sh defaults #pone los valores por defecto.
COMANDOS
RUNLEVEL --> Muestra el nivel de activación del kernel
TELINIT --> Cambia el nivel de activacion del kernel
DMESG --> Muestra el log de inicio del Kernel
--clear
--> limpia los mensajes y lo deja en blanco
-u
--> muestra solo los avisos del espacio usuario
PIDOF --> muestra el PID de un proceso dado.
TOP --> Muestra los procesos que se estan ejecutando en tiempo real. tecla q para parar el TOP sin quitarlo de la pantalla tecla h para ayuda. tecla k para matar un proceso (necesario PID) tecla r para cambiar las prioridades de un proceso (NI de -20 a 20) tecla p para ordenar por % de uso de la cpu tecla ctrl+m para ordenar por % de uso de memoria tecla esc refresca la informacion
HTOP --> como el top pero más gráfico. Requiere de instalación.
PS --> Permite ver los procesos que se estan ejecutando en el Shell.
-ef
--> Muestra todos los procesos.
aux
--> Muestra todos los procesos del sistema.
fax
--> Hace lo mismo que el ps aux pero en otro formato mas visual
SERVICE --> permite modificar el estado en un servicio (un servicio puede tener varios procesos)
status
--> info del servicio
stop
--> mata un servicio
start
--> inicia un servicio
restart
--> reinicia un servicio
Hace lo mismo que:
/etc/init.d/[servicio] status/stop/start/restart
JOBS --> Permite ver los servicios que se estan ejecutando en segundo plano.
fg %1
--> trae al primer plano el primer servicio del segundo plano
bg %1
--> manda al segundo plano el primer servicio y lo reactiva.
NOHUP --> Permite mantener un proceso activo aunque cierre la ventana
PGREP --> Es el buscador global de procesos
-n
--> muestra el PID del porceso activo
-c [nombre de la aplicacion]
--> cuenta los procesos activos de esa aplicacion.
PSTREE --> Muestra los procesos en forma de arbol
FUSER --> muestra todos los procesos que utilizan socket en un directorio dado.
-v
--> verbose
-k
--> mata el proceso
-i
--> modo interactivo (permite interactuar con la salida de fuser)
CRONTAB --> Permite crear un proceso en segundo plano que se ejecute periodicamente.
-l
--> listar proceso ejecutando
-r
--> eliminar un proceso de crontab
-e
--> editar o crear un proceso de crontab
Los datos a introducir son: minutos --> 0-59 (si ponemos * todos los minutos cumpliran la condición) horas --> 0-23 Día del mes --> 1-31 mes --> 1-12 (o meses en inglés día de la semana --> 0-6 (domingo = 0) comando a ejecutar en el momento que se cumpla todo lo anterior.
AT --> Programa una tarea para una sola vez
atq
--> lista las tareas pendientes
atrm
--> elimina la tarea del ID marcado
-t
--> se le puede poner fecha a la tarea
P.E: at -t 2008010700 #07:00 del 01 de Agosto de 2020
NICE --> inicia un proceso con la prioridad 10. un usuario cualquiera puede cambiarla de 20 a 0 (0 es mas prioritario) el usuario root puede cambiarla de 20 a -20 (siendo esta ultima la mas prioritaria)
RENICE --> modifica la prioridad de un proceso
KILL --> finaliza un proceso sabiendo su PID
-1
--> para y reinicia el proceso
-2
--> termina el proceso
-9
--> fuerza el cierre
-15
--> solicita finalizar (cierra de buenas)
-18
--> reactivacion (despues de usar -19)
-19
--> pausa
PKILL --> finaliza un proceso por su nombre
LSOF --> muestra los ficheros y librerias que se utilizan en los procesos activos.
Si no pongo nada, me lo muestra de todos los procesos de sistema.
Si solo quiero uno, tengo que poner el proceso concreto
-i
--> muestra los puertos que nos muestran al exterior.
-p
--> muestra todos los procesos relacionados con un PID.
-p `pidof [proceso]`
--> lo mismo pero sin poner PID.
LSMOD --> Lista los modulos instalados en el sistema.
MODPROVE --> Habilita un módulo concreto.
RMMOD --> Deshabilita un módulo concreto.
SYSCTL --> Permite configurar los parametros del kernel
-a
--> Lista los parametros
-w
--> Permite modificarlos
LDD --> Indica que librerias utiliza un programa concreto
FREE --> Indica el uso de la memoria RAM
Última actualización