ejecutar comando con Process
Publicado por José Luis Cetina (113 intervenciones) el 04/11/2006 07:19:42
HOla, buenas tardes, alguien me puede echar la mano? tengo el siguiente problema:
Estoy haciendo un pequeño programa en java desde linux, pero el programa necesita ejecutar algunos procesos
pero estos procesos para ejecutarse se necesita estar logeado como root, existe alguna forma de que por ejemplo
con un cuadro de dialogo (MessageDialog) pueda escribir la contraseña de root y asi poder ya tener permiso de "linux"
para poder ejecutar los procesos que yo quiero.
el problema es que no se donde mandar la contraseña escrita en el cuadro de dialogo para que el sistema me deje poder
ejecutar mis procesos, me refiero a mandar a que no se donde tenga que auntentificarse.
estaria correcto esto?
.
.
.
.
..
b1.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent evento)
{
String exec = "su";
Runtime r = Runtime.getRuntime();
Process p = r.exec(exec);
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader (new InputStreamReader (is));
// Se lee la primera linea
String aux = br.readLine();
while (aux!=null)
{
// Se escribe la linea en pantalla
System.out.println (aux);
// y se lee la siguiente.
aux = br.readLine();
}
}
catch(Exception ww)
{
JOptionPane.showMessageDialog(null,"NO SE EJECUTO EL PROCESS","",JOptionPane.WARNING_MESSAGE);
}
. });
.
.
.
.
osea cuando yo apreto mi boton B1, se ejecuta el proceso sudo, pero realmente no obtengo ninguna salida impresa,
simplemente como que si no se ejecutara nada.
alguien me podría echar la mano por favor.
Estoy haciendo un pequeño programa en java desde linux, pero el programa necesita ejecutar algunos procesos
pero estos procesos para ejecutarse se necesita estar logeado como root, existe alguna forma de que por ejemplo
con un cuadro de dialogo (MessageDialog) pueda escribir la contraseña de root y asi poder ya tener permiso de "linux"
para poder ejecutar los procesos que yo quiero.
el problema es que no se donde mandar la contraseña escrita en el cuadro de dialogo para que el sistema me deje poder
ejecutar mis procesos, me refiero a mandar a que no se donde tenga que auntentificarse.
estaria correcto esto?
.
.
.
.
..
b1.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent evento)
{
String exec = "su";
Runtime r = Runtime.getRuntime();
Process p = r.exec(exec);
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader (new InputStreamReader (is));
// Se lee la primera linea
String aux = br.readLine();
while (aux!=null)
{
// Se escribe la linea en pantalla
System.out.println (aux);
// y se lee la siguiente.
aux = br.readLine();
}
}
catch(Exception ww)
{
JOptionPane.showMessageDialog(null,"NO SE EJECUTO EL PROCESS","",JOptionPane.WARNING_MESSAGE);
}
. });
.
.
.
.
osea cuando yo apreto mi boton B1, se ejecuta el proceso sudo, pero realmente no obtengo ninguna salida impresa,
simplemente como que si no se ejecutara nada.
alguien me podría echar la mano por favor.
Valora esta pregunta


0