2

Java getRuntime().exec() からプログラムを生成するときに ps の argv[0] 名を設定する方法は?

Runtime rt = Runtime.getRuntime();
String[] cmd = {"/bin/sh", "-c", "ls > hello"};
rt.exec(cmd);

プロセスに ps ef 出力で別の名前を付けたい。Cでは、argv [0]ポインターを上書きするだけです.Javaでそれを行う方法は?

4

2 に答える 2

0

Java では、実行可能ファイルへのシンボリック リンクを作成し、代わりにそれを呼び出す必要があります。私はあなたがにアクセスできるとは思わないargv[0]

于 2012-04-16T09:09:39.623 に答える
-2

@ user1335897: ProcessBuilder はランタイムよりも柔軟性を提供します。次のコードを使用してみてください。

ProcessBuilder processBuilder = new ProcessBuilder(args);

    if (envMap != null) {
        processBuilder.environment().putAll(envMap);
    }

    try {
        Process process = processBuilder.start();
        process.waitFor();
    } catch (IOException ioe) {
    } catch (InterruptedException ie) {
}
于 2012-04-16T09:35:31.600 に答える