• Publicidad

Cómo saber el pts (pseudo-terminal) que se esta usando?

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Cómo saber el pts (pseudo-terminal) que se esta usando?

Notapor creating021 » 2007-04-18 19:04 @836

Hola, que tal?

Bien, en The OpenGroup vi que con stdlib, usando la funcion ptsname se puede saber el nombre de la pts (pseudo terminal slave) y queria saber si con perl, usando ioctl, termios o algo similiar se podría saber el nombre.

También quiero saber si por demdio de Perl se puede saber el nombre, o el path del pts usado (si estoy en /dev/pts/0 o /dev/pts/1... ).

Resulta que tengo que pasar unos mensajes a cada terminal, eso ya lo he hecho por medio de pts pero necesito que salga el nombre de la terminal donde salió el mensaje tal como hace el comando wall.

He esta buscando y encontr algo para tener en cuanta (si es Unix98 pty naming) pero no he encotrado nada para hacerlo en Perl (usando módulos del core, ya vi IO::Pty pero no es externo y muy grande para "compilar" :( ).

Cualquier ayuda se agradece :D
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Publicidad

Notapor creating021 » 2007-04-25 16:00 @708

Estoy más mal de lo que creí :cry:
Resulta que ptsname, de libc (stdlib.h) sólo retorna el nombre del dispositivo:

Código: Seleccionar todo
int fd_master;
char *path;
   ...

   fd_master = open("/dev/ptym/clone", O_RDONLY);
   path = ptsname(fd_master);

Como ven, en este caso se esta usando una pseudo teminal master y se usa open antes de usar ptsname... eso quiere decir que el programador ya sabe el nombre de por si.

Aún seguiré buscando y ahora me pongo a estudiar el .XS de IO::Pty
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor creating021 » 2007-11-24 13:32 @605

Je, je resulta que lo puedo hacer con POSIX:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use POSIX;
print POSIX::ttyname(0) if -t;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

:roll: bueno, al menos dice la tty en la que estás :)
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron