Runtime.exec()でLinuxのパイプ使用(追記)
以前Runtime.exec()を使用してのLinuxでのパイプ使用について書いたが、どうもRuntime.exec(String command)だとうまくパイプ使用ができないようだ。
試したのはgrepだけど、パイプ以降が無効になってるかのようにgrepせずにすべての結果を出してくる。
悩んだ挙句結局Runtime.exec(String commands)を使うと解決した。
×
Runtime.getRuntime().exec("/bin/sh -c ps -A | grep syslogd");
○
Stirng commands =
{"/bin/sh", "-c", "ps -A | grep ", "syslogd"};
Runtime.getRuntime().exec(commands);