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