3.287 cursos gratis
6.265.095 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Software > Sistema operativo Linux > Procesos y redes. Conceptos básicos

Sistema operativo Linux

Autor: José González
Curso:  4,67/5 4,67/5 (3 opiniones) |1431 alumnos|Fecha publicación: 20/04/2009

Capítulo 20:

 Procesos y redes. Conceptos básicos

Processos y Redes Conceptos básicos

Siempre que se activa un utilitario o un programa en Linux, el sistema inicia un proceso. Un proceso, es un programa en ejecución. Un mismo programa puede iniciar varios procesos. Linux, como sistema multitarea, permite la ejecución de varios procesos e simultaneo. El kernel de Linux se encarga de escalonar los recursos para la ejecución de varios procesos en el sistema. En caso que exista hardware multiprocesado (varios cpu's), es posible tener procesos siendo ejecutados en paralelo. Un proceso puede iniciar varios procesos hijos, siendo el proceso inicial denominado de proceso padre (líder).

Para todo y cualquier programa que el usuario inicia a partir del prompt, es iniciado un proceso, hijo de ese shell. Linux crea una jerarquía de procesos donde existen procesos dependientes del proceso líder.
La unión de varios procesos es definida como sesión.

Comandos Relacionados

Existen varios comandos relacionados con los procesos; a seguir se encuentram los mas importantes: ps; kill, killall.

ps

Es utilizado para visualizar procesos del sistema. El comando presenta procesos del usuario, de otros usuarios y del sistema. Si el comando es usado sin parámetros mostrará solamente los procesos del usuario en la sesión actual, en formato resumido, como se puede ver a seguir:

[alumno@maquina alumno]$ ps
PID TTY TIME CMD
20771 pts/0 00:00:00 sh
20773 pts/0 00:00:00 bash
20776 pts/0 00:00:00 ps

Si es necesario, es posible tener más informaciones sobre los procesos en ejecución, utilizando el parámetro [u], como se observa a seguir:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Alumno 20805 0.0 0.6 1688 828 pts/0 S 16:22 0:00 /bin/sh
/home/alumno/figura
alumno 20807 0.0 0.8 1788 1064 pts/0 S 16:22 0:00 bash
alumno 20821 0.0 0.6 2512 828 pts/0 R 16:25 0:00 ps u

Donde consta por columna, usuario, número del proceso, % cpu usado, % de memoria usada, tamaño total del programa (VSZ), memoria usada por programa (RSS), terminal, status, fecha de inicio (start), tiempo de cpu y comando.

Kill

Por el nombre mismo se puede pensar que el comando kill mata aplicaciones. El objetivo del comando es, enviar señales a los procesos.

Existen varias señales que pueden ser enviados a una aplicación; entre ellos se destacan los siguientes:

* SIGKILL
* SIGTSTP
* SIGHUP

El formato básico del comando es indicado a seguir:

kill [-señal ] pid
kill - up pid -> actualiza los procesos sin matar

Donde -señal, es la señal a ser enviado al proceso; puede estar en formato texto o numérico. La correlación entre señales y números puede ser vista ejecutando el siguiente comando:

[alumno@maquina alumno)$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGFPE 9) SIGKILL
10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

El pid es el número de proceso para el cual se desea enviar la señal y ese número puede ser conseguido, por ejemplo, usando el siguiente comando:

[alumno@maquina alumno]$ ps x
PID TTY STAT TIME COMMAND
20576 ttyl S 0:00 -bash
20595 ttyl S 0:00 sh /usr/X11R6/bin/startx
20602 ttyl S 0:00 xinit /etc/X11/xinit/xinitrc -- :0
-auth /home/alumno/.Xauthority
20606 ttyl S 0:03 /usr/X11R6/bin/wmaker
20619 ttyl SN 0:03 wmsetbg -helper -d
20620 ttyl S 0:00 wmclock
20621 ttyl S 3:16 wmmon -s
20622 ttyl S 0:00 mount.app
20623 ttyl S 0:00 wmtime
20624 ttyl S 0:01 /usr/bin/licq
20765 ttyl S 1:04 emacs -geometry 167x54 -font 9xl5 *.sgml
20860 ttyl S 0:00 xterm -font l0x20 -geometry 100x35+0+0 -e

Todas las señales pasan por el kernel. Cuando es enviado cualquier señal para un proceso esta señal va para el kernel que lo envía al proceso de destino. La señal SIGKILL, cuando es enviado para un proceso, termina su ejecución. En realidad, lo que sucede es que el kernel, cuando recibe la señal, no le repasa al proceso, y si, elimina el proceso directamente. La señal SIGTSTP suspende la ejecución de un programa.

Cuando existe un programa en ejecución en foreground y se desea suspender su procesamiento basta enviar esta señal; se puede usar las teclas Ctrl-z. Por ejemplo, está siendo ejecutado el comando vi; si dentro del programa se digita esa secuencia de teclas, la aplicación suspenderá su procesamiento. Si es utilizado el comando sin el parametro -pid, será enviado al proceso la señal SIGTERM o termínate, posiblemente terminando su ejecución. Otra señal muy usada es el SIGHUP, cuyo objetivo es hacer con que el proceso lea nuevamente sus archivos de configuración, como si estuviesen inicializados. Esto permite que se altere la configuración del sistema o de servicios del sistema sin que ellos tengan que ser desactivados. Entre los servicios que utilizan estas señales podemos destacar el inetd, httpd y otros. Por ejemplo, para eliminar una aplicación basta utilizar la siguiente secuencia de comandos:

[alumno@maquina alumno]$ ps
PID TTY TIME CMD
20959 pts/0 00:00:00 sh
20961 pts/0 00:00:00 bash
20966 pts/0 00:00:00 vi
20967 pts/0 00:00:00 ps

[alumno@maquina alumno]$ kill -9 20966 [1]+ Killed

Primero se debe descubrir el PID de la aplicación y a seguir utilizarlo en el comando kill.

Killall

Envía la señal a los procesos usando el nombre y no el número. Si existiesen varios procesos con el mismo nombre todos ellos recibirán la señal. El formato básico de l comando es mostrado a seguir:

killall [-señal] [nombre]

Por ejemplo, para eliminar una aplicación se utiliza la siguiente secuencia de comandos: [alumno@maquina alumno]$ killall -9 vi [1]+ Killed vi

Como se puede observar, es mucho mías práctico; sin embargo se corre el riesgo de eliminar todos los procesos que estén siendo ejecutados con el comando vi.

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 3 opiniones. Opina sobre este curso.


Cursos similares a Sistema operativo Linux


Cursos Valoración Alumnos Vídeo
MySQL básico. Bases de datos y software libre (tercera parte)
Curso de informática sobre MySQL básico incluida la instalación, configuración y descarga de MySQL. En esta tercera parte de nuestro curso sobre Bases de datos y software... [30/10/08]
0/5 642  
Selección de objetos con la herramienta pluma en Photoshop
En este curso vamos a aprender, mediante el programa Photoshop, a seleccionar cualquier tipo de objeto que uno pueda encontrar en una fotografía o en cualquier otro tipo ... [04/07/08]
 4,81/5 940
Curso con video
Curso con video
Excel. Hojas de cálculo (tercera parte)
Curso del software Excel y formación ofimática. En esta tercera parte de nuestro curso de uso avanzado de hojas de cálculo de Excel aprenderás a modificar gráficos; conoc... [07/11/08]
 2,50/5 2.653  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail