Rodar comando do Linux em Java

Olá pessoal,

Estou tentando rodar um comando no linux, mas não estou conseguindo.

Estou utilizando o RuntimeExec para conseguir, mas nada feito

Meu código está assim

Runtime.getRuntime().exec("sudo mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux");

Alguém poderia me dar uma ajuda?

Valew!

[quote=dsystem]Olá pessoal,

Estou tentando rodar um comando no linux, mas não estou conseguindo.

Estou utilizando o RuntimeExec para conseguir, mas nada feito

Meu código está assim

Runtime.getRuntime().exec("sudo mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux");

Alguém poderia me dar uma ajuda?

Valew!

[/quote]

Oi,

Runtime.getRuntime().exec("sudo mount -t cifs -o user=user,password=pass //IpWindows /Volume/Linux");

Ou então, tente chamar um sh que faça isso:

Runtime.getRuntime().exec("/<caminho>/Arquivo.sh");

Tchauzin!

Oi Lina, em primeiro lugar, obrigada por me responder.

Então, eu tentei dessa forma

Runtime.getRuntime().exec("sudo mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux"); 

Mas ele não funciona.
Para que eu consiga executar a segunda, eu teria que ter um arquivo.sh, porém eu não gostaria de criar entendeu?

[]'s

Este é um código que testei e funciona, de repente vc consegue tirar base neste exemplo.

[code]
No windows temos a possibilidade de desliga-lo via comando.
CMD --> Shutdown

Como faze-lo em programação e na linguagem Java?

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**

  • @author Gustavo
    */
    public class Main {

    public static void main(String[] args) {

     Main z = new Main();
     Main.Delisga();
    

    }

    public static void Delisga() {
    try {
    Runtime.getRuntime().exec(“shutdown -s -t 180”);
    } catch (IOException ex) {
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
    }
    }[/code]

gpd38,

Então, os comandos que eu crio para Windows utilizando o Runtime, eles executam que é uma beleza… Mas quando crio para linux… É uma tristeza, não funciona… To apanhando aqui há dois dias :frowning:

Oi,

Então… acho que o comando esta de forma errada… tente isso: user=user,password=pass

Ou então, tente só assim antes para ver o que acontece:

Runtime.getRuntime().exec("/bin/bash");

ou

Runtime.getRuntime().exec("bash");

E ai?

Oi,

Mais duas tentativas:

Runtime.getRuntime().exec("su -c 'mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux");

ou

Runtime.getRuntime().exec("su -c 'mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux").waitFor();

Obs: Estou chutando, pois não estou no Linux agora. Sorry

Tchauzin!

Então lina,

Se executo esse comando no terminal, na mão… Ele vai certinho.

Agora se coloco pra ele executar pelo java… O bendito não vai. Não dá erro algum, mas não vai.rsrsrs

......exec (new String[] { "/bin/bash", "-c", "mount -t cifs -o username=user,password=pass //IpWindows /Volume/Linux"" });

Por acaso vc tem instalado o OpenJDK java 6 RUNTIME instalado na sua maquina.?Passei por problemas semelhantes.