INTRODUCCIÓN AL LINUX (UNIX)
La estructura del sistema operativo LINUX1(versión gratuita
para PC del sistema
operativo UNIX) podemos dividirla en niveles según un orden de menor
a mayor acercamiento al usuario en la forma siguiente:
- HARDWARE (Unidad del sistema incluyendo: CPU, unidades de disco,
unidades de disquetes. Unidades externas de cintas o discos. Impresoras.
Consola del sistema. Terminales. Etc...).
El Hardware incluye todos los recursos reales físicamente
disponibles
en nuestro ordenador. El uso de estos recursos se realiza siempre
mediante el software que está incluido, en diferentes niveles, en los
apartados siguientes. Para usar un ordenador y sus recursos no es
indispensable más que un conocimiento superficial
(conexión/desconexión principalmente) del hardware.
- KERNEL (núcleo del sistema operativo LINUX).
El núcleo del sistema operativo controla las
componentes físicas o hardware del ordenador. Sus tareas son
fundamentalmente la organización de procesos, la transferencia de
datos
desde o hacia la CPU y el almacenamiento de datos en los diferentes
dispositivos externos (discos, impresoras, ...).
- PROGRAMAS DE APLICACIÓN (Intérpretes de comandos.
Editores. Programas de comunicación. Etc...).
Los programas de aplicaciones permiten usar el núcleo mediante la
interface o intérprete de comandos (Shell). Los intérpretes más
importantes son los del propio sistema operativo LINUX que
actúa normalmente a nivel de proceso interactivo (prompt: $), el
intérprete de lenguaje C, el del sistema operativo DOS (Disk Operating
System) que lo hace compatible en programas fuente
con los IBM-PC y el intérprete de procesos en diferido
(background). Los programas de aplicaciones de más uso son los editores
de
pantalla completa (vi, emacs, the, ...), los compiladores (FORTRAN, C,
PASCAL, ...),
el lenguaje de programación de comandos (programas de la Shell) y
programas de comunicaciones (mail, ftp, telnet, Netscape, ...).
La CONEXIÓN de un usuario al sistema o login se
realizará de la forma siguiente:
- Encender el sistema. En caso de que ya lo esté, no apagar
nunca el interruptor de la unidad central ya que podría dañar el sistema
de ficheros. Encender el terminal mediante el interruptor I/O. Esperar a
que el sistema arranque, aparecerá un menú con dos opciones. Con el cursor
del ratón pulsar en LINUX. Esperar a que en el ordenador se arranque
el sistema.
- Entrar en tu cuenta. Una vez que el sistema
se inicie, aparecerá un menú en el cual se
introduce el nombre del usuario (acceso o username)
y la contraseña (o password).
A continuación pulsar en la tecla ¡Entrar!.
El entorno gráfico que está instalado es el KDE (http://www.kde.org).
La DESCONEXIÓN de un usuario al sistema o
logout se realizará de la forma siguiente:
- exit o logout. En el entorno del intérprete de
comandos de LINUX ($), exit o logout permite a un
usuario salir del sistema. Para salir del entorno KDE bastará con
apretar el botón izquierdo del ratón sobre el cuadro de salida (un
pequeño botón
encima de otro con un candado) y confirmar
que se desea salir.
- Apagado del Linux.
Al finalizar la sesión NO deberá apagarse
bajo ninguna circunstancia el interruptor de la unidad central, ya que
esto puede dañar a los sistemas de ficheros, sino que hay que realizar
un shutdown de la siguiente forma:
En el menú que nos permite entrar al usuario hay una tecla para Apagar
el sistema.
SISTEMA DE FICHEROS
Un fichero UNIX es una estructura utilizada para guardar cualquier
tipo de información (código fuente fortran, código objeto,
ejecutables,
datos, resultados, directorios, etc...). El sistema operativo asocia
internamente al fichero un inode number y un nombre que puede
ser de hasta 256 caracteres (ejemplos: prueba.f, prueba.f.bak,
prueba.f.copia.de-seguridad.mio, .profile, ...) en lugar de los 12
caracteres del sistema MS-DOS (8 para el nombre, el punto y 3 para la
extensión), puede
haber ficheros con distintos nombres y el mismo inode number, en
cuyo caso tienen el mismo contenido pero sin que la información sea
duplicada en disco (links). El
soporte físico del fichero es normalmente un disco fijo o un disquete.
Los ficheros se organizan en directorios que desde el punto de vista del
sistema operativo son también ficheros cuyo contenido es la lista de
nombres y de sus inode number pero que desde el punto de vista
del usuario parecen compartimentos o zonas de disco desde los que puede
actuarse sobre un conjunto de ficheros.
El sistema de ficheros tiene una estructura en árbol del modo en
que se muestra a continuación:
(raíz)
bin dev
usr home
etc ...
pepe
maria luis
juan
login de usuarios
datos
textos
fortran
c
el acceso a la estructura de directorios se realiza a través del
directorio de login que es el asignado al usuario y suele
ser una rama del subdirectorio /home2. Los usuarios pueden moverse
a través del árbol pero sujetos a un SISTEMA DE
SEGURIDAD basado en los siguientes puntos:
- Password
- Se trata de una palabra clave que tiene cada usuario y que el sistema
le pide cada vez que desea conectarse en su cuenta, dándole acceso a su
directorio de login .
- Autorizaciones
- Cada fichero y directorio pertenecen a un determinado usuario llamado
propietario, varios usuarios pueden constituir un grupo que puede
autorizarse entre si para realizar determinadas acciones sobre ficheros
y directorios del grupo sin desprotegerse frente a los demás usuarios.
Las tres diferentes categorías de usuarios son:
- Usuario propietario (u)
- Grupo (g)
- Otros usuarios (o)
Las autorizaciones sobre ficheros y directorios pueden ser distintas
para las tres categorías de usuarios definidas anteriormente y son del
tipo siguiente:
- Lectura (r) autoriza la lectura del fichero o directorio
- Escritura (w) autoriza a escribir o modificar el fichero
o directorio
- Ejecución (x) autoriza la ejecución de un fichero
ejecutable
Los atributos de ficheros o directorios tienen la siguiente forma:
- fichero:
_ r w x r
_
x _ _ x
- directorio: d r w x r w x _ _ x
donde el primer carácter se refiere a si es un fichero o
directorio,
los tres siguientes son las autorizaciones del propietario, los tres
siguientes se refieren a las autorizaciones del grupo y los tres
últimos corresponden a las autorizaciones de los restantes usuarios.
- Supervisor
- Es un usuario especial que actúa con las máximas prioridades que le
permiten acceder a todos los ficheros o directorios del sistema, definir
nuevos usuarios, etc...
El sistema de ficheros puede ``corromperse'' como consecuencia de
un apagón (ya sea manual usando la tecla I/O del ordenador o general)
mientras se actualiza el sistema de ficheros o se escribe a disco
(quedan inodes sin cerrar o con asignaciones físicas incorrectas). En
este caso corresponde al usuario Supervisor (mediante el uso del comando
fsck u otro similar) la reparación del sistema de ficheros. En el
arranque del ordenador el propio sistema operativo comprueba que el
sistema de ficheros no está dañado y realiza operaciones sistemáticas en
caso de encontrar problemas. NO apagar el ordenador manualmente.
Cuando se desea apagar el ordenador el usuario deberá realizar la operación
de shutdown, ya mencionada anteriormente, para cerrar el sistema
de ficheros y poder apagar la máquina manualmente.
Después de realizar la conexión el sistema nos introduce en un
entorno gráfico llamado KDE (K-Desktop-Environment), basado en el
entorno gráfico X-Window (el de uso general en workstations UNIX de
cualquier marca comercial: IBM, Hewlett-Packard, Silicon Graphics, Sun,
Digital, ..., excepto las marcas Microsoft y Macintosh que utilizan un
sistema de ventanas propio), el escritorio típico KDE tiene tres áreas:
- panel
- se encuentra en la parte de abajo de la pantalla, se utiliza para
ejecutar aplicaciones y cambiar de un escritorio a otro (cada uno de
ellos puede tener diversas ventanas con varias aplicaciones ejecutándose
al mismo tiempo). Entre otras cosas contiene el menú de arranque (un
icono
)
que, al hacer click sobre él (apretando
el botón izquierdo del ratón sobre el icono) nos proporciona un menú con
aplicaciones que podemos ejecutar haciendo click sobre ellas. En el
panel hay también otros iconos como el que tiene una pantalla
con una concha y que permite abrir una shell, o
el que tiene un dibujo de una casa
que puede usarse para acceder a los ficheros de nuestro directorio de
login. Otro de ellos es un salvavidas
que es una guía de uso del propio KDE.
Otros iconos después de los botones numerados
nos dan acceso a otras utilidades, como por ejemplo una calculadora,
correo electrónico, un simple editor de texto o una consola del sistema
- barra de tareas
- situada en la parte central del panel de control, indica
las aplicaciones que están abiertas en todos los escritorios (puede
haber más de una por escritorio) y puede servir para cambiar entre
ellas haciendo click sobre la aplicación que queramos ver.
- escritorio
- (desktop) cada escritorio tiene sus propias ventanas,
su panel y su barra de tareas. Los botones numerados del panel indican
los diversos escritorios (normalmente cuatro pero puede cambiarse el
número de ellos) y sirven también para cambiar entre ellos, haciendo
click sobre el número correspondiente.
Para trabajar con los comandos del sistema operativo, editar
programas, compilarlos y ejecutarlos, será necesario abrir una consola
linux (icono de pantalla con la concha en el panel). A continuación aparecerá
una pantalla con la prompt, que puede ser un $ o algo del estilo
usuario@gaussN:
COMANDOS USUALES DE LINUX
A continuación se da una lista (muy incompleta), de comandos del
sistema operativo, que puede considerarse como las mínimas operaciones
que serán necesarias para el trabajo con programas FORTRAN o de otro
tipo, en negrita se indica la forma del comando, las opciones se indican
en todos ellos siempre mediante un guión que las precede, el carácter
* se utiliza con el significado todos :
- man comando es el manual donde puede consultarse cómo
actúa cualquier comando del sistema operativo (también existe el comando xman).
- ls lista los ficheros que contiene el directorio en el
que se está trabajando u otro cualquiera (ls /dir siendo dir
el nombre de dicho directorio). Admite entre otras las siguientes
opciones:
- -l da información sobre cada fichero (número de bytes que ocupa,
fecha de creación, atributos).
- -a incluye en la lista de ficheros los del árbol del directorio
(ficheros . correspondiente al actual y .. que
corresponde al directorio del que proviene).
- -t ordena la lista de ficheros por fechas de creación (indica
primero los más recientes).
- -i escribe el inode number en la primera columna de la
información dada.
- mkdir crea un directorio (mkdir dir crea el
directorio de nombre dir que será una rama del directorio actual).
- rm borra ficheros o directorios (rm fich donde
fich es el nombre del fichero a borrar). Opciones:
- -i borra ficheros preguntando confirmación antes de borrar (rm -i dir/* borra los ficheros del directorio dir preguntando uno a
uno si se confirma o no la intención de borrar).
- -r borra los ficheros del árbol de un directorio.
- rmdir borra directorios completos (rmdir dir ).
- cp copia ficheros. Hay varias formas:
- copiar un fichero en otro fichero cp fich1 fich2
- copiar un fichero en otro directorio cp fich1 dir2
- copiar varios ficheros en otro directorio: cp dir2/*.for .
- cmp o diff compara dos ficheros, si difieren se escribe en
pantalla la primera diferencia encontrada, si son idénticos no se
escribe nada.
- mv cambia el nombre a ficheros manteniéndolos
o moviéndolos de directorio y cambia el nombre de un directorio. Hay
varias formas:
- cambiar el nombre a un fichero mv fich1 fich1.for
- cambiar el nombre de un directorio mv dir1 dir2
- cambia el nombre de un fichero moviéndolo a otro directorio mv fich1 dir2/fich2
- mueve varios ficheros a otro directorio sin cambiarles el nombre
mv fich0 fich1 dir2/fich2 dir
- cat presenta un fichero en pantalla o concatena ficheros.
Ejemplos:
- cat nombre.ext presenta en pantalla el fichero nombre.ext.
- cat nombre1.ext nombre2.ext nombre3.ext
nombre.ext
concatena los ficheros nombre1.ext nombre2.ext y nombre3.ext en ese
orden y la salida se direcciona al fichero nombre.ext (en lugar de a la
pantalla), reemplazando su contenido o creándolo si no existía.
- cat nombre2.ext nombre3.ext
nombre1.ext concatena los
ficheros nombre2.ext y nombre3.ext en ese orden y se añaden al final
del fichero nombre1.ext ya existente.
- pwd da el nombre o camino del directorio de trabajo.
- cd permite cambiar de directorio actual o de trabajo.
- lpq da información sobre la cola de impresión
de ficheros.
- lpr se utiliza para imprimir un fichero (en texto ASCII o para postscript si lo acepta la impresora). Hay varias
opciones de interés, las de más interés son:
- -r lpr -r fich borra el fichero después de su
impresión.
- unix2dos
fich
lpr permite imprimir un fichero de texto
transformándolo al código del sistema operativo MS-DOS (necesario en la
instalación actual de las aulas de informática)
- lprm - cancela la impresión de los ficheros mandados a
imprimir por el usuario.
- passwd permite cambiar el password de un usuario.
- chmod cambia los permisos de actuación sobre un fichero.
A continuación se exponen varios ejemplos de uso:
- chmod g+w fich1 fich2 permite escribir a los miembros del
grupo sobre los ficheros fich1 y fich2 grabando modificaciones o
borrándolos.
- chmod go-w+x dir niega el permiso a los miembros del grupo
y a otros, para escribir en el directorio dir pero permite la búsqueda
en ese directorio para la ejecución de ficheros que estén marcados como
ejecutables.
- top o ps muestra los procesos que están ejecutándose en
el sistema o los de un usuario particular. (Hoy en día las herramientas
de gestión de tareas y monitorización de rendimiento KDE, sustituyen con
ventaja a estos comandos). Hay varias opciones:
- -e lista todos los procesos del sistema (excepto los del Kernel):
ps -e
- -f opción que lista de forma completa el comando que
corresponde a
cada proceso: ps -ef
- -l opción que da un listado completo sobre las características de
cada proceso: ps -el
- -u nombre , opción que lista los procesos del usuario
especificado por nombre: ps -fu pepe
- mount sirve para añadir un sistema de ficheros, que se
encuentre en un dispositivo interno o externo (discos, disquetes,
CD-ROM, DVD, ...), al árbol de directorios actual.3Lo usaremos para
crear sistemas de ficheros linux en disquetes formateados. El proceso
sería el siguiente:
- mount /media/floppy4monta el sistema de ficheros de un disquete sobre
el directorio
/media/floppy, de tal forma que pueden entonces usarse todos los comandos
anteriores
para actuar sobre dicho directorio (crear subdirectorios, copiar
ficheros, borrar ficheros, ...). Si el disquete está protegido contra
escritura no se podrá ni copiar ni escribir sobre él pero si recuperar
su información. Una vez terminado de operar con el disquete habrá que
desmontar el sistema de ficheros antes de sacarlo de la unidad. NO
sacar el disquete sin haberlo desmontado previamente.
- umount sirve para desmontar un sistema de ficheros que ha
sido previamente añadido al árbol de directorios actual.
- umount /media/floppy desmonta el sistema de ficheros añadido al árbol
en el directorio
/media/floppy (no debe estar en uso para desmontarlo).
- mtools permite utilizar los disquetes
formateados con un sistema operativo compatible con DOS o MS-DOS.
- mdir lista el directorio de ficheros DOS.
- mdel a:fich1 borra ficheros DOS (fich1).
- mren a:fich1 fich2 renombra el fichero fich1 con nombre
fich2.
- mcd dir1 cambia del directorio DOS actual al
subdirectorio dir1.
- mmd dir1 crea un directorio DOS (dir1).
- mrd dir1 borra un directorio DOS (dir1).
- mcopy a:fich1 fich2 copia un fichero DOS (fich1) en la
unidad a: a fichero LINUX (fich2).
- -t mcopy -t a:nombre.dos nombre.linux lee el fichero en
formato DOS (PC) a formato LINUX cambiando los caracteres de fin de
línea y fin de fichero por los correspondientes en LINUX.
- -t mcopy -t nombre.linux a:nombre.dos lee el fichero en
formato LINUX a formato DOS (PC) cambiando los caracteres de fin de
línea y fin de fichero por los correspondientes en DOS.
- mdeltree borra un árbol de directorios DOS.
PROGRAMAS DE COMUNICACIONES
Los programas de comunicaciones permiten acceder a la red internet para
obtener diferentes servicios. Antes de hacerlo, deberías leerte las normas de utilización
de las Aulas de Informática de la UAM5.
Los programas más usuales son: correo electrónico,
transferencia de ficheros, conexión a una máquina remota y navegadores
de world wide web (www).
- ftp o sftp: programas de transferencia de ficheros (del
inglés file transfer program)
desde/hacia otros ordenadores conectados a la red. El programa se
ejecuta desde la shell en la forma:
...$ ftp dirección
donde
dirección es una dirección válida de un ordenador con servidor ftp
(todos los sistemas unix, linux incluido, tienen un servidor de
ficheros ftp). El programa ftp nos pide un usuario (generalmente
anonymous o ftp) y una palabra clave (generalmente nuestro e-mail),
entrando en el ordenador remoto que suele tener un límite de conexiones
al mismo tiempo por lo que, a veces, hay que intentarlo varias veces. El
programa dispone de su propio manual de ayuda en línea (ejecutar help).
Probar con direcciones como ftp.uam.es o ftp.rediris.es .
- telnet o ssh: programa de conexión a un ordenador remoto. Permite
abrir una shell en un ordenador remoto que podemos usar para
ejecutar aplicaciones en ese ordenador. Debemos tener cuenta de usuario
y password en dicho ordenador remoto. Puede probarse con los ordenadores
de la misma sala gauss haciendo:
...$ telnet ordenador-remoto
donde
ordenador-remoto puede ser cualquiera de la sala como: gaussN.adi.uam.es, donde N es el número del ordenador al que
queramos conectarnos. Podemos usar el comando de la shell:
...$ export DISPLAY=nombre.de.máquina:0
donde nombre.de.máquina es el nombre de la máquina (en la forma:
gaussN.adi.uam.es) en la
que se desea visualizar el resultado (podemos ``exportar'' una ventana
ejecutada en nuestro ordenador a otra máquina para que vea el
resultado el individuo que está trabajando en ella, o, si nos hemos
conectado en una máquina remota, podemos exportar la ventana ejecutada
en ella hacia la máquina en la que estamos nosotros para ver el
resultado).
- netscape, mozilla o konqueror:
programas de ``navegación'' por la red.
Para utilizar estos programas hay varias formas. En la primera, más sencilla,
se ejecutan desde el panel de KDE. Los programas mozilla o konqueror también
se pueden ejecutar pulsando en los iconos
o
que se encuentran en el
escritorio.
La segunda permite ejecutar cualquiera de estos navegadores directamente
desde la línea de comandos de la shell. Por ejemplo, ejecutando:
...$ mozilla http://www.chemdex.org/
Como resultado se abrirá una ventana como la que se indica a
continuación:
Se deja al alumno la labor de investigar las distintas opciones y
paneles que disponen los navegadores, así como la conexión a
diferentes servidores www. La dirección indicada anteriormente
corresponde a un directorio internacional de química en internet,
mantenido por el Departamento de Química de la Universidad de Sheffield
en el Reino Unido.
Otra página web interesante es la página de la biblioteca (http://biblioteca.uam.es)
que contiene enlaces a varias bases de datos de revistas electrónicas,
así como a los fondos bibliográficos de la universidad.
- Programas de correo electrónico: Aunque existen numerosos programas de correo
electrónico (kmail, pine, ...), las normas de uso del
correo6de la Universidad Autónoma de Madrid recomiendan la utilización de
navegadores para leer el correo vía web, conectándose a la página
http://correo.adi.uam.es/.
Así, si utilizamos el mozilla, la conexión a dicha página será:
...$ mozilla http://correo.adi.uam.es/
Como resultado se abrirá una ventana como la que se indica a
continuación:
En esta pantalla pondremos nuestro usuario y contraseña, lo que nos dará acceso al
programa de correo de la UAM (Endymion).
EDITOR DE TEXTO KEdit
Un simple editor de texto es necesario para visualizar y/o modificar el
contenido de ficheros de texto. No hay que confundirlo con un procesador
de textos cuya función es la presentación de un texto (incluyendo
figuras, tablas, fórmulas, ...) con un formato determinado, aunque
ocasionalmente disponga de formateador de párrafos. Un simple
editor de texto es imprescindible para producir programas fuente en
cualquier lenguaje. Hay muchos editores de textos en linux, siendo vi el propio del sistema operativo y que es un standard UNIX, pero
resulta poco amigable lo que ha dado origen a muchos otros como: emacs, Xemacs, THE, y dos de ellos que vienen con el
escritorio KDE: KWrite y KEdit. Nosotros usaremos el más
sencillo de ambos, el KEdit. Para utilizar este editor hay dos
formas. En la primera, más sencilla, bastará con buscar en los menús del
panel de KDE. La segunda permite editar directamente un fichero
desde la línea de comandos de la shell ejecutando:
...$ kedit nombre.extensión
donde nombre.extensión es la identificación del fichero que queremos
editar. Como consecuencia se abre la siguiente ventana:
Además de los correspondientes menús y panel de botones, hay una serie
de teclas o combinaciones de ellas con funciones específicas, son las
siguientes:
Insert |
Cambia entre los modos de inserción y sobreescribir |
Flecha izquierda |
Mueve el cursor un carácter hacia la izquierda |
Flecha derecha |
Mueve el cursor un carácter hacia la derecha |
Flecha arriba |
Mueve el cursor una línea hacia arriba |
Flecha abajo |
Mueve el cursor una línea hacia abajo |
Re Pág |
Mueve el cursor una página hacia arriba |
Av Pág |
Mueve el cursor una página hacia abajo |
Backspace ( ) |
borra un carácter a la izquierda del cursor |
Supr |
borra un carácter a la derecha del cursor |
Inicio |
mueve el cursor al comienzo de la línea |
Fin |
mueve el cursor al final de la línea |
+ Flecha izquierda |
Marca el texto un carácter hacia la izquierda |
+ Flecha derecha |
Marca el texto un carácter hacia la derecha |
Ctrl + C |
Copia el texto marcado al sujetapapeles |
Ctrl + J |
Formatea un párrafo |
Ctrl + K |
Borra desde el cursor hasta el final de la línea y mete el contenido
en memoria |
|
de borrado |
Ctrl + V |
Pega el texto del sujetapapeles en la línea del cursor |
Ctrl + X |
Corta el texto marcado (borrándolo) y lo copia al sujetapapeles |
Ctrl + Y |
Vuelca en el documento el contenido de la memoria de borrado a partir
de la |
|
posición del cursor |
PROCESO DE PROGRAMAS FORTRAN
Para procesar los programas escritos en FORTRAN seguiremos los
siguientes pasos desde una shell:
- Editar:
- supone la creación del programa FORTRAN, esto deberá hacerse
mediante el editor vi, the o kedit:
...$ kedit prueba.f
por ejemplo, editar usando kedit prueba.f desde un terminal
linux el fichero prueba.f con el siguiente contenido:
- Compilar:
- consiste en la traducción del programa al lenguaje de la máquina,
el programa compilador se invoca de la siguiente forma:
...$ gfortran prueba.f [-opciones]
las opciones pueden omitirse, con la forma anterior el prueba.f
debe contener todo el programa FORTRAN incluyendo el principal, las
subrutinas, las funciones y los block data. De esta manera el programa
compilador genera un fichero: ./a.out, siendo el programa
ejecutable.
- Ejecutar:
- la ejecución de un programa produce los resultados del mismo, hay
varias formas:
- ...$ ./a.out
- ...$ ./a.out
prueba.dat
- ...$ ./a.out
prueba.sal
- ...$ ./a.out
prueba.dat
prueba.sal
- ...$ ./a.out
prueba.dat
prueba.totsal
- ...$ ./a.out
prueba.dat
prueba.sal &
- ...$ nohup ./a.out
prueba.dat
prueba.sal &
La primera forma ejecuta el programa direccionando la entrada de
datos (instrucción READ) a la pantalla y la salida (instrucción
WRITE) a la pantalla.
La segunda ejecuta el programa direccionando la entrada
de datos al fichero prueba.dat y la salida a la pantalla.
La tercera
direcciona la entrada a la pantalla y la salida al fichero prueba.sal.
La cuarta direcciona la entrada al fichero prueba.dat y la salida al
fichero prueba.sal.
La quinta direcciona la entrada al fichero
prueba.dat y la salida la añade al fichero ya existente
prueba.totsal.
La sexta es igual a la cuarta pero se ejecuta en diferido
(background ), es decir, como un proceso independiente dejando
libre el terminal para seguir trabajando (si se hace la desconexión
antes de terminar la ejecución, el proceso muere).
La última forma
es igual a la anterior pero se evita la muerte del subproceso cuando
el usuario se desconecta.
2004-10-13