Java执行Shell语句方法比较
来自个人维基
方法一:
String[] cmdLin = {"/bin/sh", "-c", command}; pro = runTime.exec(cmdLin);
方法二:
String[] cmdLin = command.split(" "); //分割参数 pro = runTime.exec(cmdLin);
方法一相当于在terminal中执行:
$:/bin/sh -c $command
而这则会另外启用一个thread,而且这个thread的handle我们在代码不易取得,当执行多次就会有不少这样的thread存在。
方法二则没有这个问题,因为其执行的只是这个命令:
$:$command
- ps:这里command前面的意思为取command实际内容的示意标识