在桌面 Java 应用程序中,我能够通过一些不需要编译的脚本自行重新启动我的 Java 应用程序(这样我们就可以远程在其上添加一些额外的东西):
桌面脚本:restartme.sh
#!/bin/bash
export DISPLAY=:0.0
pkill java
java -cp SystemV.jar Main.Boot 0x01 &
# on the fly add new stuffs depending on the situations..
iperf -s -p 65000 &
convert -size 800x600 xc:transparent -font Bookman-DemiItalic -pointsize 50 -draw "text 25,90 ' inactive.'" -channel RGBA -blur 0x6 -fill steelblue -stroke white -draw "text 10,90 ' inactive.'" -antialias /var/www/html/video/now.jpeg;
x11vnc -forever -passwd x1x &
桌面应用:
system("/var/tmp/restartme.sh &");
public static String system(String cmds) {
String value = "";
try {
String cmd[] = { "/bin/sh", "-c", cmds};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = reader.readLine();
while (line != null) {
value += line + "\n\r";
line = reader.readLine();
}
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException ie) {
ie.printStackTrace();
}
return value;
}
我如何在 Android 中重新启动,例如桌面?我可以使用默认的 BASH 或其他默认的内置 Android shell 脚本吗?还是有其他方法可以即时执行一些未编译的脚本?