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

[SOLUCIONADO] Ejecutar comandos

Estas en el tema de Ejecutar comandos en el foro de Java en Foros del Web. Hola, Necesito ejecutar un programa desde mi código Java. He estado leyendo y por lo visto, debería hacerlo de esta manera: Código: Process p = ...
  #1 (permalink)  
Antiguo 09/06/2016, 04:41
 
Fecha de Ingreso: febrero-2013
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Ejecutar comandos

Hola,

Necesito ejecutar un programa desde mi código Java. He estado leyendo y por lo visto, debería hacerlo de esta manera:

Código:
Process p = Runtime.getRuntime().exec("directorio/ejecutable");
Todo esto con sus try/catch correspondientes. Hasta ahí bien, pero me surgen dos dudas:
  • ¿Se lleva bien esto con el uso de parámetros del programa a lanzar? ¿Escribo estos parámetros tal cual, después del nombre del ejecutable, como si estuviera en el bash?
  • He escuchado que esta manera de hacer las cosas provoca, en ocasiones, que el programa no se ejecute, de error, etc. ¿Es cierto? Necesito que se ejecute todo correctamente, es muy importante.

Gracias.
  #2 (permalink)  
Antiguo 10/06/2016, 07:00
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Ejecutar comandos

Buenas,

Yo utilizaria ProcessBuilder, que permite controlar mas a fondo la ejecucion del proceso externo.

Código Java:
Ver original
  1. Process process = new ProcessBuilder("directorio/ejecutable","param1","param2").start();

Ademas permite hacer algunas cosas no posibles con exec() como configurar las variables de entorno o el directorio de ejecucion

Mas info aqui:
http://www.profesorfalken.com/posts/6
http://www.profesorfalken.com/posts/7

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 12/06/2016, 11:51
 
Fecha de Ingreso: febrero-2013
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Ejecutar comandos

Gracias, Profesor_Falken! Lo pondré en funcionamiento, a ver si tengo suerte :)

Etiquetas: comandos, programa
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 10:38.