SlideShare una empresa de Scribd logo
4
Lo más leído
6
Lo más leído
14
Lo más leído
Gestión de Procesos en
GNU/Linux
2013
Ing. Emiliano Marini
www.linuxito.com
Objetivo
● Analizar técnicas y herramientas para
gestionar procesos en GNU/Linux:
– Listar procesos en ejecución
– Obtener información de procesos
– Iniciar y detener procesos
– Determinar y alterar la prioridad de
ejecución de procesos
– Gestionar procesos en segundo plano
Procesos
● Un proceso es uno de los conceptos
fundamentales más importante de los
sistemas operativos GNU/Linux.
● Un proceso es una instancia de un
programa en ejecución.
Crear procesos
● ¿Cómo crear un proceso?
– Iniciar una sesión:
man login
– Ejecutar un programa:
mkdir /tmp/prueba
cd /tmp/prueba
touch doc.txt
nano doc.txt
Identificadores de un proceso
● Process ID (PID): Identificador único.
● User ID (UID) y Group ID (GID): Usuario y
grupo al que el proceso pertenece:
– UID y GID reales (heredados del padre)
– UID y GID efectivos (los procesos con
UID efectivo igual a 0 son privilegiados
ya que se ejecutan como superusuario)
● Parent Process ID (PPID): PID del proceso
padre.
Listar procesos
● El comando ps muestra un snapshot de
los procesos actuales:
man ps
ps
ps u
ps ­l
ps aux
ps ­U root ­u root u
ps
● Utilizando ps se puede obtener
información relacionada a los procesos,
por ejemplo:
– Identificadores (USER, PID, UID, GID, PPID)
– Hora de inicio (START)
– % de uso de memoria (%MEM) y CPU (%CPU)
– Tiempo de CPU acumulado (TIME)
– Estado (STAT)
– Terminal asociada (TTY)
– Comando (CMD/COMMAND)
Estado de procesos
D Uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to
complete)
T Stopped, either by a job control signal or
because it is being traced
X Dead (should never be seen)
Z Defunct ("zombie") process, terminated but
not reaped by its parent
Estado de procesos
Información adicional
< High-priority (not nice to other users)
N Low-priority (nice to other users)
L Has pages locked into memory (for real-time
and custom IO)
s Is a session leader
l Is multi-threaded (using CLONE_THREAD,
like NPTL pthreads do)
+ Is in the foreground process group
El proceso init
● En Linux cada proceso tiene un proceso
padre.
● “init” es el primer proceso que crea el
kernel Linux cuando inicia el sistema (boot)
● Todos los procesos son hijos de init (de
forma directa o indirecta).
● El proceso init no puede ser matado (kill),
excepto cuando se apaga el sistema.
● El proceso init siempre tiene el PID = 1.
Árbol de procesos
● Es posible visualizar la jerarquía de
procesos en forma de árbol a partir de init
(PID = 1):
pstree
ps jf
ps axjf
ps ­ejH
● Si se especifica un PID, el árbol se inicia
desde tal proceso. Si se especifica un
usuario válido se mostrará la jerarquía de
todos los procesos del mismo.
Demonios (daemons)
● En un momento determinado pueden existir en el
sistema procesos invocados por el usuario
actual, invocados por otros usuarios, o invocados
por el sistema operativo (daemons).
● Los demonios son procesos que necesitan
ejecutarse en segundo plano (background) por
largos períodos de tiempo y no requieren una
terminal que los controle (TTY).
man 4 tty
● No interactúan directamente con los usuarios,
sino en forma de servicio.
Señales
● Mensajes que se envían a un proceso para
notificar eventos importantes.
● Por su naturaleza, los procesos son
interrumpidos y forzados a manejarlas
inmediatamente.
● Cada señal se identifica con un número
entero al igual que un nombre simbólico:
kill ­l
man 7 signal
Terminar procesos
● El comando kill se utiliza para enviar
señales a procesos.
● Por defecto envía la señal TERM
(Termination Signal).
● ¿Cómo matar un proceso?
– Enviar SIGTERM:
kill ­15 [pid]
– Si no responde, enviar SIGKILL:
kill ­9 [pid]
[off-topic] Everything is a file
● "Everything is a file" describes one of the defining
features of Unix, and its derivatives, that a wide
range of input/output resources such as
documents, directories, hard-drives, modems,
keyboards, printers and even some inter-process and
network communications are simple streams of
bytes exposed through the filesystem name
space.
● The same set of tools, utilities and APIs can be used
on a wide range of resources. When a file is opened
a file descriptor is created. The file path becoming
the addressing system and the file descriptor
being the byte stream I/O interface.
[off-topic] Everything is a file
● A range of pseudo and virtual filesystems exists
which exposes information about processes and
other system information in a hierarchical file-like
structure.
● An example of this purely virtual filesystem is under
/proc that exposes many system properties as files.
● All of these "files" have standard Unix file attributes
such as an owner and access permissions, and can
be queried by the same classic Unix tools and filters.
“Destripar” procesos
● El pseudo sistema de archivos proc se
utiliza como interfase a las estructuras de
datos del kernel.
● Generalmente es montado en /proc.
● En su mayor parte es de sólo lectura, pero
algunos archivos permiten modificar
variables del kernel.
● Existe un subdirectorio numérico por cada
proceso, cuyo nombre coincide con el PID
de los mismos.
/proc
man proc
ls ­l /proc
ls ­l /proc/[pid]
(cat /proc/[pid]/cmdline; echo) | tr '0' ' '
ls ­l /proc/[pid]/cwd
cd /proc/[pid]/cwd; pwd
(cat /proc/[pid]/environ; echo) | tr '0' 'n'
ls ­l /proc/[pid]/exe
ls ­l /proc/[pid]/fd
Experimento: manipular la
entrada estándar de otro proceso
● Ejecutar el editor de texto “vi”:
touch /tmp/prueba/doc2.txt
vi /tmp/prueba/doc2.txt
[INSERT]
● Desde otra terminal inyectar texto:
ps u
echo hola >> /proc/[pid]/fd/0
Más /proc
cat /proc/[pid]/limits
cat /proc/[pid]/maps
cat /proc/[pid]/mountinfo
ls ­l /proc/[pid]/root
cat /proc/[pid]/smaps
cat /proc/[pid]/stat
cat /proc/[pid]/statm
cat /proc/[pid]/status
cat /proc/[pid]/task
¿Qué pasa con el directorio /proc/[pid] cuando matamos el
proceso?
Multiprogramación
● Linux (como la mayoría de sistemas
operativos modernos) puede ejecutar
múltiples procesos compartiendo CPU,
memoria y otros recursos entre ellos.
top
htop
Tiempo compartido
● En general existen más procesos que
CPU.
● Es necesario compartir estos recursos de
CPU limitados entre los procesos que
compiten por ellos.
● Esto se hace seleccionando un proceso
para ejecución y dejándolo ejecutar por un
periodo o hasta que necesite esperar algún
evento (por ejemplo E/S).
Prioridad de ejecución
● Para garantizar que procesos importantes
no se queden sin CPU, la selección se
efectúa de acuerdo a una prioridad.
● La columna NI en la salida del comando
top indica la prioridad de ejecución o nice.
● Esta prioridad oscila desde -20 (mayor
prioridad) hasta 19 (menor prioridad).
man nice
ps o pid,ni,comm,args
ps ­l
Alterar la prioridad de ejecución
● Iniciar un proceso con baja prioridad:
nice ­n 19 grep ­Ri net /
● Modificar la prioridad de un proceso:
grep ­Ri net /
ps o pid,ni,comm,args
renice ­n 19 ­p [pid]
ps o pid,ni,comm,args
Procesos en segundo plano
● En Linux podemos iniciar procesos en
primer plano (foreground) o en segundo
plano (background).
● Un proceso iniciado en foreground
monopoliza la terminal e impide iniciar más
procesos desde la misma.
● Un proceso en background, una vez
iniciado deja de monopolizar la terminal, y
devuelve el control al usuario (prompt).
Iniciar procesos en background
● Es posible iniciar procesos en background
utilizando el caracter ampersand:
&
● Es posible detener procesos utilizando:
Ctrl+Z
● A cada proceso en background se le
asigna un identificador numérico.
man jobs
man bg
man fg
Alternar foreground entre
procesos
top [Ctrl+Z]
ping 8.8.8.8 > /dev/null &
jobs
tail ­f /var/log/dmesg > /dev/null &
jobs
ping 8.8.4.4 > /dev/zero [Ctrl+Z]
jobs
bg 4
jobs
fg 3 [Ctrl+Z]
jobs ­l
fg
ps
Más herramientas...
● Listar procesos: pgrep, atop
● Enviar señales: killall, pkill, skill
● Esperar procesos: wait
● Medir procesos: time
● “Inmortalizar” procesos: nohup, disown
Links de interés
● Curso de Introducción a GNU/Linux
http://www.ant.org.ar/cursos/curso_intro/book1.html
● explainshell.com http://explainshell.com/
● The Linux Documentation Project - “create and distribute a
canonical set of high quality free GNU/Linux documentation”:
– Introduction to Linux http://tldp.org/LDP/intro-linux/html/intro-linux.html
– Bash Guide for Beginners
http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
– Advanced Bash-Scripting Guide
http://tldp.org/LDP/abs/html/abs-guide.html
– GNU/Linux Command-Line Tools Summary
http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/GNU-Linux-Tools-Summary
.html
– Y más... http://tldp.org/guides.html
Referencias
● An overview of Linux processes -
[https://www.ibm.com/developerworks/community/blogs/58e72888-6340-46ac-b488-
d31aa4058e9c/entry/an_overview_of_linux_processes21]
● Parent process - [http://en.wikipedia.org/wiki/Parent_process]
● Linux Filesystem Hierarchy - 1.14. /proc - [http://www.tldp.org/LDP/Linux-
Filesystem-Hierarchy/html/proc.html]
● Everything is a file - [http://en.wikipedia.org/wiki/Everything_is_a_file]
● Prioridades de ejecución de procesos -
[http://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-6/]
● Introduction To Unix Signals Programming -
[http://titania.ctie.monash.edu.au/signals/]

Más contenido relacionado

PPTX
Pulsos de reloj de Circuito integrado 555
PPTX
Circuitos integrados
PPTX
Energía mecánica
PPTX
Practica 9
PPTX
PPTX
Maquinas primitivas
PDF
métodos de sintonización de controladores P, PI, PD, PID.
PDF
Laplace matlab
Pulsos de reloj de Circuito integrado 555
Circuitos integrados
Energía mecánica
Practica 9
Maquinas primitivas
métodos de sintonización de controladores P, PI, PD, PID.
Laplace matlab

La actualidad más candente (20)

PDF
Ejercicios diagramas de bloques y gfs
PDF
Manual bright spark, livewire y pcb wizard
PDF
Manual lab neumatica 2017_2
PDF
003. diseño de circuitos neumaticos diagramas
PPTX
La polea
PPS
PDF
Ejercicios de-programacic3b3n-resueltos-con-step-7
PDF
Fundamentos de los Transistores
PDF
TALLER 2. INSTRU3
PPTX
Clase 2 cdii
DOC
Electroneumatica
PDF
Digitales examen 1
PPT
Plc intrucciones basicas
DOCX
Selección del generador de vapor caldera
PDF
Unidad III: Polos y Ceros de una función de transferencia.
PPTX
Los circuitos hibridos
PPTX
La soldadura
PPTX
2.3 interconexion-de-redes-de-dos-puertos
PDF
Función de transferencia
PDF
PLC: ejercicios de sistemas secuenciales
Ejercicios diagramas de bloques y gfs
Manual bright spark, livewire y pcb wizard
Manual lab neumatica 2017_2
003. diseño de circuitos neumaticos diagramas
La polea
Ejercicios de-programacic3b3n-resueltos-con-step-7
Fundamentos de los Transistores
TALLER 2. INSTRU3
Clase 2 cdii
Electroneumatica
Digitales examen 1
Plc intrucciones basicas
Selección del generador de vapor caldera
Unidad III: Polos y Ceros de una función de transferencia.
Los circuitos hibridos
La soldadura
2.3 interconexion-de-redes-de-dos-puertos
Función de transferencia
PLC: ejercicios de sistemas secuenciales
Publicidad

Similar a Gestión de Procesos en GNU Linux - Comandos (20)

PDF
Procesos linux
PDF
Linux ud7 - gestion de procesos
PPT
Semana 10 administracion de procesos
PPT
PPT
Procesos
PPT
Procesos
PPT
Curso de software03
DOCX
Administración de procesos en ubuntu
PPTX
Administración y Comando Básicos
PPTX
Presentacion
DOCX
Transcripcion (jackeline chillogalli
PPTX
Logs y auditoría
PDF
Unidad 11 - Administración básica del sistema
DOCX
Ronald
PPSX
Curso básico linux
PPT
Planificador
DOCX
Viviana medina
DOCX
Viviana medina MATERIA
DOCX
Jadira palta
Procesos linux
Linux ud7 - gestion de procesos
Semana 10 administracion de procesos
Procesos
Procesos
Curso de software03
Administración de procesos en ubuntu
Administración y Comando Básicos
Presentacion
Transcripcion (jackeline chillogalli
Logs y auditoría
Unidad 11 - Administración básica del sistema
Ronald
Curso básico linux
Planificador
Viviana medina
Viviana medina MATERIA
Jadira palta
Publicidad

Último (20)

PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Doctrina 1 Soteriologuia y sus diferente
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf

Gestión de Procesos en GNU Linux - Comandos

  • 1. Gestión de Procesos en GNU/Linux 2013 Ing. Emiliano Marini www.linuxito.com
  • 2. Objetivo ● Analizar técnicas y herramientas para gestionar procesos en GNU/Linux: – Listar procesos en ejecución – Obtener información de procesos – Iniciar y detener procesos – Determinar y alterar la prioridad de ejecución de procesos – Gestionar procesos en segundo plano
  • 3. Procesos ● Un proceso es uno de los conceptos fundamentales más importante de los sistemas operativos GNU/Linux. ● Un proceso es una instancia de un programa en ejecución.
  • 4. Crear procesos ● ¿Cómo crear un proceso? – Iniciar una sesión: man login – Ejecutar un programa: mkdir /tmp/prueba cd /tmp/prueba touch doc.txt nano doc.txt
  • 5. Identificadores de un proceso ● Process ID (PID): Identificador único. ● User ID (UID) y Group ID (GID): Usuario y grupo al que el proceso pertenece: – UID y GID reales (heredados del padre) – UID y GID efectivos (los procesos con UID efectivo igual a 0 son privilegiados ya que se ejecutan como superusuario) ● Parent Process ID (PPID): PID del proceso padre.
  • 6. Listar procesos ● El comando ps muestra un snapshot de los procesos actuales: man ps ps ps u ps ­l ps aux ps ­U root ­u root u
  • 7. ps ● Utilizando ps se puede obtener información relacionada a los procesos, por ejemplo: – Identificadores (USER, PID, UID, GID, PPID) – Hora de inicio (START) – % de uso de memoria (%MEM) y CPU (%CPU) – Tiempo de CPU acumulado (TIME) – Estado (STAT) – Terminal asociada (TTY) – Comando (CMD/COMMAND)
  • 8. Estado de procesos D Uninterruptible sleep (usually IO) R Running or runnable (on run queue) S Interruptible sleep (waiting for an event to complete) T Stopped, either by a job control signal or because it is being traced X Dead (should never be seen) Z Defunct ("zombie") process, terminated but not reaped by its parent
  • 9. Estado de procesos Información adicional < High-priority (not nice to other users) N Low-priority (nice to other users) L Has pages locked into memory (for real-time and custom IO) s Is a session leader l Is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) + Is in the foreground process group
  • 10. El proceso init ● En Linux cada proceso tiene un proceso padre. ● “init” es el primer proceso que crea el kernel Linux cuando inicia el sistema (boot) ● Todos los procesos son hijos de init (de forma directa o indirecta). ● El proceso init no puede ser matado (kill), excepto cuando se apaga el sistema. ● El proceso init siempre tiene el PID = 1.
  • 11. Árbol de procesos ● Es posible visualizar la jerarquía de procesos en forma de árbol a partir de init (PID = 1): pstree ps jf ps axjf ps ­ejH ● Si se especifica un PID, el árbol se inicia desde tal proceso. Si se especifica un usuario válido se mostrará la jerarquía de todos los procesos del mismo.
  • 12. Demonios (daemons) ● En un momento determinado pueden existir en el sistema procesos invocados por el usuario actual, invocados por otros usuarios, o invocados por el sistema operativo (daemons). ● Los demonios son procesos que necesitan ejecutarse en segundo plano (background) por largos períodos de tiempo y no requieren una terminal que los controle (TTY). man 4 tty ● No interactúan directamente con los usuarios, sino en forma de servicio.
  • 13. Señales ● Mensajes que se envían a un proceso para notificar eventos importantes. ● Por su naturaleza, los procesos son interrumpidos y forzados a manejarlas inmediatamente. ● Cada señal se identifica con un número entero al igual que un nombre simbólico: kill ­l man 7 signal
  • 14. Terminar procesos ● El comando kill se utiliza para enviar señales a procesos. ● Por defecto envía la señal TERM (Termination Signal). ● ¿Cómo matar un proceso? – Enviar SIGTERM: kill ­15 [pid] – Si no responde, enviar SIGKILL: kill ­9 [pid]
  • 15. [off-topic] Everything is a file ● "Everything is a file" describes one of the defining features of Unix, and its derivatives, that a wide range of input/output resources such as documents, directories, hard-drives, modems, keyboards, printers and even some inter-process and network communications are simple streams of bytes exposed through the filesystem name space. ● The same set of tools, utilities and APIs can be used on a wide range of resources. When a file is opened a file descriptor is created. The file path becoming the addressing system and the file descriptor being the byte stream I/O interface.
  • 16. [off-topic] Everything is a file ● A range of pseudo and virtual filesystems exists which exposes information about processes and other system information in a hierarchical file-like structure. ● An example of this purely virtual filesystem is under /proc that exposes many system properties as files. ● All of these "files" have standard Unix file attributes such as an owner and access permissions, and can be queried by the same classic Unix tools and filters.
  • 17. “Destripar” procesos ● El pseudo sistema de archivos proc se utiliza como interfase a las estructuras de datos del kernel. ● Generalmente es montado en /proc. ● En su mayor parte es de sólo lectura, pero algunos archivos permiten modificar variables del kernel. ● Existe un subdirectorio numérico por cada proceso, cuyo nombre coincide con el PID de los mismos.
  • 18. /proc man proc ls ­l /proc ls ­l /proc/[pid] (cat /proc/[pid]/cmdline; echo) | tr '0' ' ' ls ­l /proc/[pid]/cwd cd /proc/[pid]/cwd; pwd (cat /proc/[pid]/environ; echo) | tr '0' 'n' ls ­l /proc/[pid]/exe ls ­l /proc/[pid]/fd
  • 19. Experimento: manipular la entrada estándar de otro proceso ● Ejecutar el editor de texto “vi”: touch /tmp/prueba/doc2.txt vi /tmp/prueba/doc2.txt [INSERT] ● Desde otra terminal inyectar texto: ps u echo hola >> /proc/[pid]/fd/0
  • 20. Más /proc cat /proc/[pid]/limits cat /proc/[pid]/maps cat /proc/[pid]/mountinfo ls ­l /proc/[pid]/root cat /proc/[pid]/smaps cat /proc/[pid]/stat cat /proc/[pid]/statm cat /proc/[pid]/status cat /proc/[pid]/task ¿Qué pasa con el directorio /proc/[pid] cuando matamos el proceso?
  • 21. Multiprogramación ● Linux (como la mayoría de sistemas operativos modernos) puede ejecutar múltiples procesos compartiendo CPU, memoria y otros recursos entre ellos. top htop
  • 22. Tiempo compartido ● En general existen más procesos que CPU. ● Es necesario compartir estos recursos de CPU limitados entre los procesos que compiten por ellos. ● Esto se hace seleccionando un proceso para ejecución y dejándolo ejecutar por un periodo o hasta que necesite esperar algún evento (por ejemplo E/S).
  • 23. Prioridad de ejecución ● Para garantizar que procesos importantes no se queden sin CPU, la selección se efectúa de acuerdo a una prioridad. ● La columna NI en la salida del comando top indica la prioridad de ejecución o nice. ● Esta prioridad oscila desde -20 (mayor prioridad) hasta 19 (menor prioridad). man nice ps o pid,ni,comm,args ps ­l
  • 24. Alterar la prioridad de ejecución ● Iniciar un proceso con baja prioridad: nice ­n 19 grep ­Ri net / ● Modificar la prioridad de un proceso: grep ­Ri net / ps o pid,ni,comm,args renice ­n 19 ­p [pid] ps o pid,ni,comm,args
  • 25. Procesos en segundo plano ● En Linux podemos iniciar procesos en primer plano (foreground) o en segundo plano (background). ● Un proceso iniciado en foreground monopoliza la terminal e impide iniciar más procesos desde la misma. ● Un proceso en background, una vez iniciado deja de monopolizar la terminal, y devuelve el control al usuario (prompt).
  • 26. Iniciar procesos en background ● Es posible iniciar procesos en background utilizando el caracter ampersand: & ● Es posible detener procesos utilizando: Ctrl+Z ● A cada proceso en background se le asigna un identificador numérico. man jobs man bg man fg
  • 27. Alternar foreground entre procesos top [Ctrl+Z] ping 8.8.8.8 > /dev/null & jobs tail ­f /var/log/dmesg > /dev/null & jobs ping 8.8.4.4 > /dev/zero [Ctrl+Z] jobs bg 4 jobs fg 3 [Ctrl+Z] jobs ­l fg ps
  • 28. Más herramientas... ● Listar procesos: pgrep, atop ● Enviar señales: killall, pkill, skill ● Esperar procesos: wait ● Medir procesos: time ● “Inmortalizar” procesos: nohup, disown
  • 29. Links de interés ● Curso de Introducción a GNU/Linux http://www.ant.org.ar/cursos/curso_intro/book1.html ● explainshell.com http://explainshell.com/ ● The Linux Documentation Project - “create and distribute a canonical set of high quality free GNU/Linux documentation”: – Introduction to Linux http://tldp.org/LDP/intro-linux/html/intro-linux.html – Bash Guide for Beginners http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html – Advanced Bash-Scripting Guide http://tldp.org/LDP/abs/html/abs-guide.html – GNU/Linux Command-Line Tools Summary http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/GNU-Linux-Tools-Summary .html – Y más... http://tldp.org/guides.html
  • 30. Referencias ● An overview of Linux processes - [https://www.ibm.com/developerworks/community/blogs/58e72888-6340-46ac-b488- d31aa4058e9c/entry/an_overview_of_linux_processes21] ● Parent process - [http://en.wikipedia.org/wiki/Parent_process] ● Linux Filesystem Hierarchy - 1.14. /proc - [http://www.tldp.org/LDP/Linux- Filesystem-Hierarchy/html/proc.html] ● Everything is a file - [http://en.wikipedia.org/wiki/Everything_is_a_file] ● Prioridades de ejecución de procesos - [http://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-6/] ● Introduction To Unix Signals Programming - [http://titania.ctie.monash.edu.au/signals/]