[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ siguiente ]


Comprendiendo el Sistema: Comandos Básicos
Capítulo 4 - Procesos y sesiones


Un proceso es cada una de las tareas que está realizando el ordenador en un instante dado. Un ejemplo de a lo que nos estamos refiriendo es esta lista:

     USER    PID %CPU %MEM   VSZ  RSS TTY    STAT START TIME COMMAND
     root      1  0.0 0.0  1272  208 ?      S    Feb08 0:04 init
     root      2  0.0 0.0     0    0 ?      SW   Feb08 0:01 [keventd]
     root      3  0.0 0.0     0    0 ?      RWN  Feb08 0:01 [ksoftirqd_CPU0]
     root      4  0.0 0.0     0    0 ?      SW   Feb08 5:24 [kswapd]
     root      5  0.0 0.0     0    0 ?      SW   Feb08 0:00 [bdflush]
     root    458  0.0 0.0  1652  196 ?      S    Feb08 0:00 /usr/sbin/cron
     dictd   463  0.0 0.0 33536  172 ?      S    Feb08 0:00 dictd 1.5.5: 0/4
     root    481  0.0 0.1  2008  264 ?      S    Feb08 0:00 /usr/sbin/inetd
     root    577  0.0 0.0  1288  212 ?      S    Feb08 0:00 /usr/sbin/smartd
     root    631  0.0 0.0     0    0 ?      SW   Feb08 0:00 [eth0]
     root    946  0.0 0.0  2592  244 ?      S    Feb08 0:00 /usr/bin/kdm
     root    951  0.0 0.0  2844    8 ?      S    Feb08 0:00 -:0         
     root    967  0.0 0.0  1252  124 tty2   S    Feb08 0:00 /sbin/getty 38400 tty2
     frodo  1045  0.0 0.2  7876  744 ?      S    Feb08 0:01 /usr/bin/gnome-session
     root   1721  0.0 0.1  3560  336 ?      S    Feb08 0:26 /usr/sbin/ypserv
     root   1728  0.0 0.0  1516  140 ?      S    Feb08 0:00 /usr/sbin/rpc.ypxfrd
     root   1730  0.0 0.1  5628  296 ?      S    Feb08 0:00 /usr/sbin/ypbind
     root   1830  0.0 0.0     0    0 ?      SW   Feb08 0:39 [nfsd]
     root   1837  0.0 0.1  1680  512 ?      S    Feb08 0:04 /usr/sbin/rpc.mountd
     root   2742  0.0 0.2  2040  764 ?      S    07:38 0:01 /sbin/syslogd -r
     thorin 3174  0.0 0.6  6752 1624 ?      S    09:45 0:06 /usr/sbin/sshd
     thorin 3176  0.0 3.2 11712 8364 ?      S    09:45 0:17 vi middle_earth
     root   4138  0.0 0.6  3288 1644 pts/28 S    13:14 0:00 ssh gondor
     fofo   4256  0.0 2.9 10696 7600 pts/15 S    13:40 0:01 emacs-21.2 recomend1.tex
     fofo   4340  0.0 0.2  1532  624 pts/15 S    14:19 0:00 more recomend1.tex
     webgem 4448  0.0 1.3  8216 3396 pts/11 S    14:58 0:00 pine
     thorin 4569  0.0 0.3  2756  916 pts/14 R    15:45 0:00 ps aux

Para que el alumno se haga una idea más clara de todo esto le recomendamos que teclee la siguiente instrucción ps aux y vea qué sucede. Consulte las páginas man que explican este comando. También resulta muy interesante que use el comando top ya que puede ver en tiempo real cómo aparecen y desaparecen los procesos en el ordenador y cómo unos consumen más tiempo, CPU y memoria que otros.

En la primera columna de la anterior lista aparecen los usuarios que son propietarios de los procesos, además en la segunda columna aparece el número de identificación del proceso que lo define unívocamente. Saber qué significa el resto de la información se deja como tarea al alumno.

Si nos centramos sólo en los procesos de los usuarios, éstos pueden crearse tecleando un comando en una terminal, ejecutando una aplicación al desplegar un menú gráfico o pueden ser lanzados por otro proceso como un subproceso. Los procesos pueden estar corriendo de forma interactiva o en background.

En muchas ocasiones resulta conveniente matar un proceso, ya que hay ocasiones en que los programas dejan de responder adecuadamente (estas cosas no sólo pasan en Windows, aunque hay que reconocer que allí son más frecuentes). Esto es muy sencillo una vez que conocemos su número de identificación (PID), basta con teclear kill -9 PID. La instrucción kill manda una señal a un proceso. En concreto la señal 9 implica matar el proceso.

Otro concepto de especial interés es el de sesión. Cuando sólo se podían usar terminales alfanuméricas, el concepto de sesión estaba muy claro y era simplemente la shell que se abría después de hacer login, es decir después de introducir el username y el password. En cambio, hoy en día al poder abrir terminales y aplicaciones en un entorno gráfico, sin necesidad de introducir username y password es difícil decir cuántas sesiones hay abiertas. Para ver las sesiones que hay abiertas teclearemos w, obteniendo algo como lo que sigue:

     09:41:37 up 1 day, 1:30, 10 users, load average: 0.00, 0.02, 0.00 
     USER  TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT 
     frodo :0       -                Mon08   ?xdm?   0.00s   ?     -
     frodo pts/2    :0.0             Mon08   22:54m 54.39s  0.17s  -bash 
     frodo pts/1    :0.0             Mon08   43:25   0.07s  0.01s  mutt 
     root  pts/5    tirith.tmedia.es Mon10   22:54m  0.02s  0.02s  -bash 
     frodo pts/8    :0.0             Mon11    0.00s  1.44s  0.01s  w 
     fofo  pts/11   rhun.tmedia.es   Mon11   13:16m  2:31   0.03s  -bash 
     Mon08 ?xdm?  0.00s ?  - frodo pts/2 :0.0 Mon08 22:54m 54.39s 0.17s

En esta salida pueden verse las sesiones abiertas, sus propietarios y los procesos que llevan asociados.


[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ siguiente ]


Comprendiendo el Sistema: Comandos Básicos

Version 0.01

Curro Pérez Bernal francisco.perez@dfaie.uhu.es