2017-02-20 14 views
1

私は、process/osコマンドを実行するためにJAVAで利用できるすべての機能を探しています。Java - プロセスの実行方法

例えば、私はexec( 'command')に精通しています。以下の機能に精通しているPHP Iで

exec() 
shell_exec() 
system() 
passthru() 
escapeshellcmd() 
backticks (``) 
popen() 
automatic() 

あなたは他の機能/技術に名前を付けていただけますか?

+0

@hhafeez私は彼がJavaスレッドを参照しているとは思わない;彼はネイティブシステムプロセスを指しています。たとえば、Linuxで 'grep'を呼び出します。 – Keith

+0

スレッドは技術的に軽量のプロセスです – hhafeez

+0

@hhafeez私はそれを知っていますが、ここではリンゴとオレンジの比較です。 JavaスレッドはネイティブOSコールへのアクセスを自由に与えません。 OPは、PHPの例で指定されたシステムコールにJavaのアナログを要求しています。以下は、 'Process'ライブラリを使って解答します。 – Keith

答えて

1

幸いにも、JDKからはかなり簡単なアプローチがあります:ProcessBuilder APIです。

Hereは、実装の完全な例です。それを読んでいる気がしない場合、これは簡潔な例です:

package com.process; 

import java.io.File; 
import java.io.IOException; 
import java.lang.ProcessBuilder.Redirect; 

public class ProcessBuilder { 
    public static void main(String... args) throws IOException, InterruptedException { 
     ProcessBuilder builder = new ProcessBuilder("D:/test.bat", "firstArg", "secondArg"); 
     processBuilder.directory(new File("D:/")); 
     File log = new File("D:/log.txt"); 
     builder.redirectErrorStream(true); 
     builder.redirectOutput(Redirect.appendTo(log)); 
     Process p = builder.start(); 
     p.waitFor(); 
    } 
} 
関連する問題