Foros del Web » Programación para mayores de 30 ;) » Programación General »

Correr una aplicacion ms-DOS desde un CGI

Estas en el tema de Correr una aplicacion ms-DOS desde un CGI en el foro de Programación General en Foros del Web. Hola. Que tengo que hacer para correr una aplicacion ms-dos desde un Perl Script CGI bajo windows server 2003 con IIS 6.0. El Script corre ...
  #1 (permalink)  
Antiguo 04/10/2007, 17:52
 
Fecha de Ingreso: octubre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Correr una aplicacion ms-DOS desde un CGI

Hola.
Que tengo que hacer para correr una aplicacion ms-dos desde un Perl Script CGI bajo windows server 2003 con IIS 6.0. El Script corre pero no ejecuta la aplicacion.
En cambio el script corre perfectamente bajo windows 2000.
  #2 (permalink)  
Antiguo 04/10/2007, 19:19
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Re: Correr una aplicacion ms-DOS desde un CGI

A la hora de ejecutar el programa, ¿das todo el camino hacia ese programa? recuerda que el CGI puede estar ejecutándose en el directorio por defecto del servidor web.

¿Qué error da? ¿Qué dicen los registros de actividad (log)?
  #3 (permalink)  
Antiguo 04/10/2007, 21:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Correr una aplicacion ms-DOS desde un CGI

No da un error especifico. El script sigue adelante sin ejecutar el programa, muestra en pantalla el contenido de la pagina html desde donde se llama (lo cual genera un pantallazo absurdo) y termina.
Revisare el Log.
Gracias
  #4 (permalink)  
Antiguo 05/10/2007, 10:01
 
Fecha de Ingreso: octubre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Correr una aplicacion ms-DOS desde un CGI

Jferrero. Cordial saludo.
En cuanto a los caminos para la ejecución de CGI y programa las tengo descritas así:
El CGI corre desde el directorio: /Inetpub/wwwroot/cgi-bin
y para ubicar el programa le estoy dando dentro del script el camino así:
chdir "/websis/webbibg";
no se si en IIS 6.0 exige backslage \ en lugar de slage /.
  #5 (permalink)  
Antiguo 05/10/2007, 12:36
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Re: Correr una aplicacion ms-DOS desde un CGI

no probaste con la ubicación absoluta ?

c:/...

Saludos
__________________
Esteban Quintana
  #6 (permalink)  
Antiguo 05/10/2007, 12:42
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Re: Correr una aplicacion ms-DOS desde un CGI

Yo solo veo un problema hasta ahora: que al hacer el chdir el servidor web no te deje hacerlo, por temas de seguridad.

¿Has comprobado el valor de retorno de la función chdir()?

¿De qué forma ejecutas el programa externo? ¿con system, con qx(), con exec()?
  #7 (permalink)  
Antiguo 05/10/2007, 14:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 5
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Correr una aplicacion ms-DOS desde un CGI

El programa externo lo ejecuto son system
  #8 (permalink)  
Antiguo 05/10/2007, 17:46
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Re: Correr una aplicacion ms-DOS desde un CGI

Coloca esto después del system(), para saber qué pasa:
Código:
    if ($? == -1) {
	print "failed to execute: $!\n";
    }
    elsif ($? & 127) {
	printf "child died with signal %d, %s coredump\n",
	    ($? & 127),  ($? & 128) ? 'with' : 'without';
    }
    else {
	printf "child exited with value %d\n", $? >> 8;
    }
(sacado de la página de manual de system().

Si el resultado lo sacas en html, quizás tengas que cambiar los print (poner marcas html) o mirar el código fuente de la página html que te devuelva el CGI, para saber qué ha pasado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.