Ayuda
Publicado por Angel (2 intervenciones) el 16/11/2009 18:36:31
Hola amigos.
La preguntita que ahora os planteo tiene miga por lo que ya os doy las gracias de antemano. Se trata de lo siguiente. Quiero redireccionar los mensajes de mis módulos a un terminal para lo cual ha caído en mis manos el siguiente programita que, según sus autores, me solucionará la papeleta indicando en la línea de comando el número de terminal al que deseo enviar los mensajes:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/ioctl.h>
int main(int argc, char **argv)
{
char bytes[2] = {11,0}; /* 11 es el número cmd de TIOCLINUX */
if (argc==2) bytes[1] = atoi(argv[1]); /* la consola elegida */
else {
fprintf(stderr, "%s: need a single arg\n",argv[0]); exit(1);
}
if (ioctl(STDIN_FILENO, TIOCLINUX, bytes)<0) { /* Utilizar stdin */
fprintf(stderr,"%s: ioctl(stdin, TIOCLINUX): %s\n",
argv[0], strerror(errno));
exit(1);
}
exit(0);
}
El programa se llama setconsole. c y cuando lo ejecuto ocurre lo siguiente:
[root@AyB2 4]# ./setconsole 1
./setconsole: ioctl(stdin, TIOCLINUX): Invalid argument
¿alguien se apiada de mi y me da una alludita?
GRACIAS
La preguntita que ahora os planteo tiene miga por lo que ya os doy las gracias de antemano. Se trata de lo siguiente. Quiero redireccionar los mensajes de mis módulos a un terminal para lo cual ha caído en mis manos el siguiente programita que, según sus autores, me solucionará la papeleta indicando en la línea de comando el número de terminal al que deseo enviar los mensajes:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/ioctl.h>
int main(int argc, char **argv)
{
char bytes[2] = {11,0}; /* 11 es el número cmd de TIOCLINUX */
if (argc==2) bytes[1] = atoi(argv[1]); /* la consola elegida */
else {
fprintf(stderr, "%s: need a single arg\n",argv[0]); exit(1);
}
if (ioctl(STDIN_FILENO, TIOCLINUX, bytes)<0) { /* Utilizar stdin */
fprintf(stderr,"%s: ioctl(stdin, TIOCLINUX): %s\n",
argv[0], strerror(errno));
exit(1);
}
exit(0);
}
El programa se llama setconsole. c y cuando lo ejecuto ocurre lo siguiente:
[root@AyB2 4]# ./setconsole 1
./setconsole: ioctl(stdin, TIOCLINUX): Invalid argument
¿alguien se apiada de mi y me da una alludita?
GRACIAS
Valora esta pregunta


0