2012-04-16 3 views
2

Как установить argv [0] имя для ps при запуске программы из java getRuntime(). Exec()?Как установить argv [0] имя для ps при запуске программы из Java getRuntime(). Exec()?

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

Я хочу, чтобы процесс имел другое имя в выводе ps ef. В C вы можете просто перезаписать указатель argv [0], как это сделать в java?

ответ

0

В Java вам нужно будет создать символическую ссылку на исполняемый файл и вызвать это вместо этого. Я не верю, что у вас есть доступ к argv[0]

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