当从Java的getRuntime()。exec()生成程序时,如何设置ps的argv [0]名称?

时间:2012-04-16 09:07:44

标签: java runtime.exec

如何在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中做到这一点?

2 个答案:

答案 0 :(得分:0)

在Java中,您需要创建一个指向可执行文件的符号链接并调用它。我认为您无法访问argv[0]

答案 1 :(得分:-2)

@ user1335897:ProcessBuilder提供比Runtime更多的灵活性,请尝试使用以下代码:

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) {
}