分页: 1 / 1

java Runtime.getRuntime().exec 特殊字符导致操作错误问题

发表于 : 2019年 11月 4日 17:28 星期一
jvip_chen
错误的方法:

代码: 全选

//command
private static final String command="ps aux | grep 'java -jar' | grep -v grep";
Process p = Runtime.getRuntime().exec(command);
原因:不会被再次解析,管道符失效

正确的办法:

linux下:

代码: 全选

String[] commands = { "/bin/sh", "-c", command };
Process ps = Runtime.getRuntime().exec(commands);

windows下:

代码: 全选

String[] commands = { "cmd", "/c", command};
Process ps = Runtime.getRuntime().exec(commands);