elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ejecutar programa desde java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar programa desde java.  (Leído 6,519 veces)
aangrymasther

Desconectado Desconectado

Mensajes: 69


Zona especial Este


Ver Perfil
Ejecutar programa desde java.
« en: 4 Marzo 2018, 20:12 pm »

Buenas, os quería hacer una pregunta, ¿sabeis como hacer para lanzar un comando que lance un programa python (python <direccion> o ejecute un script de bash (./script)?

Encontré que se podía hacer con esto pero no me funcionó:
Código:
String[] command = {"sh","-c",".python /home/angrymasther/Escritorio/some.py"};
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
El programa funciona sin errores, pero no ejecuta el código python, que debería crear un directorio ejemplo.
Se que el código python no es porque lo e probado xD.
¿Alguna idea? Gracias de antemano.


En línea

Probablemente el 99% de lo que digo sea incorrecto
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Ejecutar programa desde java.
« Respuesta #1 en: 4 Marzo 2018, 21:05 pm »

Que raro debería de funcionar, quizás es porque no abriste un stream, usa un bloque try with resources es autocloseable linea 27  :xD
Código
  1. import os
  2. from stat import *
  3.  
  4. print "HolA PoC"
  5.  

Código
  1. package testing.foro.ExecPython;
  2.  
  3. import util.ShowData;
  4.  
  5. import javax.swing.*;
  6. import javax.swing.filechooser.FileNameExtensionFilter;
  7. import java.io.BufferedReader;
  8. import java.io.IOException;
  9. import java.io.InputStreamReader;
  10. import java.nio.file.Files;
  11. import java.nio.file.Path;
  12.  
  13. public class EjecutarPython {
  14.  
  15.  
  16.  
  17.    public EjecutarPython() throws InterruptedException, IOException {
  18.  
  19.        final String file = getPath().toAbsolutePath().toString();
  20.  
  21.        //String[] command = {"sh","-c",".python", file};
  22.        String[] command = {"python", file };
  23.  
  24.        Process p = Runtime.getRuntime().exec(command);
  25.        p.waitFor();
  26.        String line = "";
  27.        try(BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
  28.            while((line = br.readLine()) != null) {
  29.                ShowData.println(line);
  30.            }
  31.        }
  32.        p.destroy();
  33.    }
  34.  
  35.    private Path getPath() {
  36.        JFileChooser chooser = new JFileChooser();
  37.        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
  38.        //chooser.setFileFilter(new FileNameExtensionFilter(".py",new String[]{".py"})); please [color=red]FIXME[/color]
  39.        final int result = chooser.showOpenDialog(null);
  40.        if(result == JFileChooser.CANCEL_OPTION) {
  41.            System.exit(2);
  42.        }
  43.        return chooser.getSelectedFile().toPath();
  44.    }
  45.  
  46.        UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
  47.        new EjecutarPython();
  48.    }
  49. }
  50.  

Salida

Código
  1. HolA PoC
  2.  
  3. Process finished with exit code 0
  4.  
  5.  


« Última modificación: 10 Marzo 2018, 02:53 am por rub'n » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
aangrymasther

Desconectado Desconectado

Mensajes: 69


Zona especial Este


Ver Perfil
Re: Ejecutar programa desde java.
« Respuesta #2 en: 5 Marzo 2018, 13:40 pm »

Hola Rub'n, gracias por tu respuesta. Fue mala mía, funcionó cuando puse una ruta absoluta.
En línea

Probablemente el 99% de lo que digo sea incorrecto
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Ejecutar programa desde java.
« Respuesta #3 en: 10 Marzo 2018, 02:51 am »

Hola Rub'n, gracias por tu respuesta. Fue mala mía, funcionó cuando puse una ruta absoluta.

hommie, y esto que es? Absoluto o Relativo ?  :o hasta donde se es Absoluto
 

Código
  1. /home/angrymasther/Escritorio/some.py

En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Coomo ejecutar fichero desde java???
Java
Hartigan 1 3,295 Último mensaje 17 Marzo 2011, 01:17 am
por sapito169
Ejecutar programas en java desde la línea de comandos.
Java
binaryum 2 4,337 Último mensaje 8 Diciembre 2011, 14:40 pm
por [Case]
Ejecutar un bat desde java y que el codigo no continue
Java
Mine Sweeper 2 6,320 Último mensaje 10 Julio 2013, 19:25 pm
por Mine Sweeper
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 7,097 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
ejecutar un programa desde jframe en java
Programación General
d91 1 6,586 Último mensaje 18 Junio 2014, 05:29 am
por d91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines