用 java 运行 cmd 命令,可以开启、关闭 windows 上的服务,测试通过。
public class Main {
public static void main(String[] args) {
String exe = new Main().exe("mysql57");
System.out.println(exe);
}
private String exe(String string) {
StringBuilder builder = new StringBuilder();
try {
// 调用 cmd命令,执行 net start mysql, /c 必须要有
Process p = Runtime.getRuntime().exec("cmd.exe /c net start " + string);
InputStream inputStream = p.getInputStream();
// 获取命令执行完的结果
Scanner scanner = new Scanner(inputStream, "GBK");
scanner.useDelimiter("\\A");
while (scanner.hasNext()) {
builder.append(scanner.next());
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}
}
说明1:我的cmd编码默认bgk,如果是其他编码,直接替换就可以,否则会显示乱码。
说明2:/c 参数要有,有该参数,命令执行完就结束,否则会一直卡着,等待输入其他命令。
说明3:最好用管理员权限执行,因为各种环境比较复杂,若执行失败可以看看是否有管理员权限。
更多说明请参考:www.fengyunxiao.cn