Max Draven escribió:
Hola Carlos:
--- "Carlos E. R." escribió:
Prueba con:
programa 2> /dev/tty9 > /dev/tty9
Ensayé ésto (Como usuario activo en el sistema) y funcionó perfectamente (El programa se ve en ejecución normal y completa en la terminal virtual 9)
El único problema es que el terminal pertenece a root, y no se si tu programa secreto lo ejecuta root o un usuario.
El programa lo puedo ejecutar como usuario.
Y, no creo que puedas escribir, o sea, que funcione el teclado. Otra manera es volcar a un fichero. O a un named pipe, incluso... quizás... eso no lo tengo claro.
La verdad, no necesito escribir nada, sólo ejecutar el programa con las opciones correspondientes ... el resto va por su cuenta.
Lo que debes hacer es lo siguiente: 1.- Crea un script que ejecute tu programa y lo pruebas desde tu terminal en forma normal. 2.- Ese script debe contener al menos lo siguiente: #!/bin/bash export TERM=linux ejecucion_programa Puedes reemplazar linux por el tipo de terminal que estes utilizando, a cron le bastara con que la variable TERM tenga un valor definido que sea correcto 3.- Suponiendo que tu script se llama progcron.sh por ejemplo, debes dejarlo con permisos de ejecucion, sugiero 755 (rwxr-xr-x) y lo ejecutas interactivamente solo para probarlo. Si comienza a desplegar texto por la pantalla, se debe a una o ambas de las siguientes razones: - Tu programa emite despliegues de data por la pantalla a traves de la salida standard - Tienes mensajes de error en la ejecucion, los cuales salen por la salida de errores 4.- Si tienes salida, ya sea standard y/o de errores, entonces debes considerar eso para ejecutar en el cron tu aplicacion. 5.- Programa en el cron, la ejecucion _del_script_, el cual tu previamente habras dotado de las variables de ambiente que necesita (como TERM por ejemplo) Si hay que considerar salida, solamente la rediriges como te sea mas util, ejemplos: 30 5 * * * /directorio_path/progcron.sh 2>&1 > /dev/null #Perderas lo que salga 30 5 * * * /directorio_path/progcron.sh 2>&1 > archivo.testigo.txt #Grabaras la salida en archivo.testigo.txt Si tu problema actual fuese solamente que te esta reclamando por no haber definido alguna variable de ambiente, basta con que lo hagas en el archivo de cron, en la forma: TERM=linux MAILTO=tu_cuenta_de_email OTRAVARIABLE=contenido_de_otra_variable Luego puedes ejecutar directamente tu programa, considerando lo ya mencionado respecto a redireccionar la(s) salida(s) Saludos LRP