Article View: es.comp.os.linux.programacion
Article #15521Re: ¿Algo parecido a las interrupciones?
From: oscar
Date: Fri, 23 Jun 2000 00:00
Date: Fri, 23 Jun 2000 00:00
60 lines
3574 bytes
3574 bytes
Ivan Alameda Carballo <iac@alphacom.es> wrote: > Hola: > oscar@server.enmicasa.dhs.org wrote: >> 1-Necesites gesti�n de ev�ntos as�ncronos. Que cuando alguien pulse una >> tecla, mueva el rat�n, pase X tiempo... se ejecute cierta rutina. >> Si es eso, lo que necesitas se llaman se�ales (signals). > Lo que necesito realmente es que mi programa o un proceso hijo del mismo, > salte a ejecucion cuando en pantalla del terminal cambie algo, bien sea porque > el programa del usuario produce cambios en pantalla, o bien sea porque otro > proceso de otro usuario escriba en nuestro terminal... como por ejemplo los > mensajes que otros usuarios nos puedan mandar.... > Mediante las se�ales, seria con la se�al SIGIO, pero solo he conseguido > que esta se�al salte y por tanto lanze una funcion mia, cuando el usuario > teclea una o varias teclas del terminal... Bueno... Vamos a ver. Seg�n de que terminal estemos hablando y en que condiciones. En Linux tenemos las terminales de consola (tty1 tty2 tty3 ...) y pseudo-terminales con 2 implementaciones diferentes. Par tty[q-s]x-pty[q-s]x y terminales pty/? con mayor compatibilidad con otros Unix. En teor�a no puedes interceptarlas por las buenas. No est�n dise�adas para ello. Si quieres escuchar las terminales, dispones de varias opciones. Una, modificar el programa lector de la terminal (telnetd, login, etc.) para multiplexar la salida en varias. Algo similar hace el ttysnoop y no te ser�a dif�cil programar una versi�n m�s avanzada. Dos, modificar los correspondientes drivers del kernel para logear esa informaci�n que llega. La primera es la m�s sencilla y la que deber�a darte la funcionalidad que buscas. La segunda, solo la veo necesaria si quieres ocultar ese proceso de escucha hasta l�mites de la paranoia. Tu ver�s con cual te quedas. > Necesito controlar todo lo posible el terminal, pero sin bloquear el > sistema... de echo quiero "espiar" de algun modo los cambios del terminal.... > No obstante... �quieres decir que un programa (aun siendo este del root) > no puede capturar interrupciones? Si asi, pues busco algun mecanismo > parecido, si es que lo hay... Es raro que sean necesarias. Si realmente lo son (normalmente solo en caso de accesos directos a un perif�rico) tendr�s que trabajar con el kernel. > Espero que al principio en la explicacion qeu doy de mis objetivos, me > haya explicado correctamente... Hombre... Si explicases la raz�n te podr�amos aconsejar no solo como hacer lo que buscas sino otras posibles soluciones mejor adaptadas en este SO para conseguir el mismo objetivo. > Muchas gracias por todo De nada.
Technical Details
Message-ID:
<8ivtth$sfo$1@titan.bt.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<39531B51.55C64D23@alphacom.es> <8ivp2n$ovo$1@titan.bt.es> <39537744.F1DAA562@alphacom.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,3cf4674b105be1f2
X-Google-Attributes: gidf86c8,public
From: oscar@server.enmicasa.dhs.org
Subject: Re: ¿Algo parecido a las interrupciones?
Date: 2000/06/23
Message-ID: <8ivtth$sfo$1@titan.bt.es>
X-Deja-AN: 638081187
Content-Transfer-Encoding: 8bit
References: <39531B51.55C64D23@alphacom.es> <8ivp2n$ovo$1@titan.bt.es> <39537744.F1DAA562@alphacom.es>
Content-Type: text/plain; charset=ISO-8859-1
X-Complaints-To: abuse@bt.es
X-Trace: titan.bt.es 961772273 29176 212.22.49.143 (23 Jun 2000 14:57:53 GMT)
Organization: BT Tel. Netnews service (readers)
Mime-Version: 1.0
User-Agent: tin/1.4.1-19991201 ("Polish") (UNIX) (Linux/2.2.13 (i686))
NNTP-Posting-Date: 23 Jun 2000 14:57:53 GMT
Newsgroups: es.comp.os.linux.programacion