1
我想切換用戶,然後在新用戶下啓動一個命令。 其實我的代碼是在Process Builder中切換用戶
String[] commandToRun2 = {"su","-","jboss", "./jboss-cli.sh -c :shutdown(restart=true)"};
ProcessBuilder pb = new ProcessBuilder(commandToRun2);
pb.directory(new File("/home/jboss/soft/jboss-as-7.1.1.Final/bin/"));
Process p = pb.start();
但我不能讓它工作。
它究竟如何不起作用?日誌中是否有例外情況? – VasyaNovikov
沒有例外,它只是正常結束進程,但沒有正確執行命令。在root下使用相同的命令(沒有su)它工作正常。 – Jebus
你是否手動測試過你的'su'命令?您是否在測試'su'時從同一用戶啓動您的Java應用程序? – VasyaNovikov