“Java执行Shell语句方法比较”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“方法一: <pre class="prettyprint"> String[] cmdLin = {"/bin/sh", "-c", command}; pro = runTime.exec(cmdLin); </pre> 方法二: <pre class="prettyprint"> Strin...”为内容创建页面)
 

2015年5月6日 (三) 20:35的最后版本

方法一:

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实际内容的示意标识