No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Manejo de procesos

27/30
Recursos

Aportes 13

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

kill <OPTION> <PID>     

# Envia una seal al proceso con el ID especificado, por defecto SIGTERM
-1             
# SIGHUP, reinicia el proceso

-2             
# SIGINT, interrumpe el proceso

-9             
# SIGKILL, termina el proceso de manera forzosa

-15           
 # SIGTERM, termina el proceso de manera normal <opci贸n por defecto>

-19           
 # SIGSTOP, pausa el proceso

-18            
# SIGCONT, reanuda el proceso

Estados de un proceso

  • Running or runnable 庐: procesos que al ejecutarse se encuentran consumiendo recursos (de memoria o CPU). Cuando no esta en este estado, generalmente debido a que los recursos que el proceso requiere no est谩n disponibles o est谩n siendo usados por otro proceso, se dice que el proceso esta 鈥榙urmiendo鈥 (sleep), pero hay dos tipos de estados de 鈥榙ormir鈥 o de 鈥榮leep鈥: interrumpible y no interrumpible. El proceso sale del estado de 鈥榮ue帽o鈥 al tener acceso a los recursos que necesita para continuar ejecut谩ndose.
  • Uninterruptible Sleep (D): Este tipo de proceso no se pueden matar con una se帽al simple, ya que debe usarse una 鈥榮ign kill鈥 para matar el proceso y que corresponde a un tipo de se帽al en particular.
  • Interruptible Sleep (S): Son procesos que pueden interrumpirse con se帽ales normales siempre y cuando se encuentren en espera. Es importante recordar que las se帽ales son mecanismos que permiten al sistema terminar con procesos de forma 鈥榓migable鈥 y sin repercusiones para su funcionamiento.
  • Stopped (T): Se refiere a procesos que han sido detenidos temporal o indefinidamente por un usuario. Se diferencia del estado en 鈥榮leep鈥 en el hecho de que un proceso que esta durmiendo sale de este estado al detectar que los recursos que necesita ya est谩n disponibles.
  • Zombie (Z): Es un estado correspondiente a los proceso que est谩n desvinculados de su proceso 鈥榩adre鈥 y que no est谩n ejecut谩ndose.

Manejo de Procesos en Terminal

  1. Al colocar el s铆mbolo 鈥&鈥 al final de un comando, est茅 se sigue ejecutando en segundo plano. Ejemplo:
less archivo.txt &

Cuando un proceso pasa a segundo plano, se le a帽ade un n煤mero identificador que sirve para manejar su estado (llamado 鈥榡ob ID鈥).

  1. Es posible usar el comando jobs -l para ver los procesos ejecut谩ndose en segundo plano:
jobs -l 
  1. Para traer un proceso a 1er plano, se usa 鈥榝g鈥 m谩s el identificador de trabajo del proceso (llamado regularmente 鈥榡ob ID鈥) en segundo plano:
fg job_ID
  1. Otra forma de enviar un proceso a segundo plano o background es usando CTRL + Z. Sin embargo, al usar esta opci贸n, el proceso es enviado a segundo plano en estado de 鈥榙etenido鈥 o 鈥榮topped鈥.

Ejemplo de ejecuci贸n en terminal:

  1. Tambi茅n es posible matar un proceso con el comando kill m谩s el PID del proceso. Si el proceso esta en background, no funciona usar kill sin argumentos.
kill PID
  1. Matar un proceso en segundo plano:
kill -s SIGKILL [PID]
  1. Matar todos los procesos asociados a un comando o t茅rmino:
killall [nombre_proceso]

Listado de opciones de se帽ales m谩s comunes para kill

Formato:

kill <OPTION> <PID>     

# Envia una se帽al al proceso con el ID especificado, por defecto SIGTERM

Opciones:

-1             
# SIGHUP, reinicia el proceso

-2             
# SIGINT, interrumpe el proceso

-9             
# SIGKILL, termina el proceso de manera forzosa

-15           
 # SIGTERM, termina el proceso de manera normal <opci贸n por defecto>

-19           
 # SIGSTOP, pausa el proceso

-18            
# SIGCONT, reanuda el proceso

Manejo de procesos

El process id nos sirve para identificar el software que se est谩 manejando, pero tambi茅n nos permite acabarlo, pausarlo, reiniciarlo, etc.

Estados de un proceso

  • Running or runnable 庐
  • Uninterruptible sleep (D)
  • Interruptible Sleep (S)
  • Stopped (T)
  • Zombie (Z)

Tip: Para enviar un archivo o proceso a segundo plano solo debes a帽adir & al final de cada comando o cerrar el proceso con ctrl + Z.

Para mirar los jobs o procesos abiertos en segundo plano tambi茅n puedes usar:

jobs -l

Por otro lado, el comando:

fg [PID]

Nos permite volver a primer plano los procesos secundarios.

Finalmente, para poder matar un proceso, debemos tener claro el process id, que podemos obtener por medio de htop. Luego, ejecutamos el comando:

kill [PID]

Pero si el proceso est谩 en segundo plano, deberemos a帽adir lo siguiente:

kill -s SIGKILL [PID]

Por otro lado, si lo que deseamos es matar todos los procesos asociados a un programa, podemos hacerlo con el siguiente comando

comandos kill

En vez de espera.txt le hubiera puesto lazaro.txt

Muy buena clase. Excelente informaci贸n con la herramienta y el uso de conceptos sobre como terminar un programa

Por simple curiosidad, en mi terminal de Ubuntu estaba corriendo htop
Busqu茅 su PID y en otra terminal, en la misma sesi贸n de Ubuntu, hice kill -9 PID y la interfaz visual de htop no se cerr贸 pero s铆 dej贸 de mostrar sus cambios.

Kill : Envia una se帽al a uno o mas procesos.
la se帽al puede ser indicada con numero o palabra y el proceso se identifica a traves de su PID o su nombre tambien.
Ejemplo: kill -9 1034
Envia una se帽al (SIGKILL) para terminar el proceso numero 1034
sino especificamos y solo ponemos kill numero de proceso enviara la se帽al por defecto SIGTERM (-15) es una se帽al 鈥渁mable鈥 por asi decirlo pero puede ser ignorada.
Si tenemos un proceso corriendo y presionamos Ctrl+z lo que hace es poner el proceso en STOP y podemos verlo usando jobs donde nos mostrara el proceso con su numero de PID y la palabra Stopped (suspendido).
El listado de se帽ales esta puesto mas abajo por otro compa帽ero.

Un peque帽o aporte, si est谩s en producci贸n ten encuenta que kill -9 PID, matar谩 el proceso, pero nosotros por seguridad utilizamos kill -15 PID, para que valla finalizando procesos que vayan terminando o finalizando por si solos, solo debes darle un poco m谩s de espera.
Estados de un proceso: \- Running o runnable, R, se activa en cualquier proceso que consume recursos de cpu o memoria \- Uninterruptible sleep, D, no puede ser matado con se帽ales b谩sicas de kill. La se帽al que se usa para este es sigkill. \- Interruptible sleep, S, que esta activo, pero que no est谩 consumiendo ning煤n recurso de la cpu o de la memoria. \- Stopped, T, sleep siempre esta a la espera de que se liberen recursos para ser ejectuados de nuevo, mientras que stopped si nosotros liberamos recursos igual se quedan ah铆 sin ejecutar. \- Zombie, Z, se activa cuando queremos terminar un proceso y se desvincula del proceso original.

Matar todos los procesos: kill all nombreproceso

Matar proceso: kill -9 PID

Fue interesante el aprendizaje y recuerdos de eliminar procesos. Sabia que el primer metodo era sencillo, pero no imagine que habia mas metodos y mas ese metodo de 鈥渒illall鈥 me dejo impresionado. Espero esa siguiente clase con todo.