Processo do PowerShell interrompido quando chamado do aplicativo Java
Estou tentando escrever um aplicativo simples que utiliza um argumento de linha de comando (que será um arquivo ps1 do Powershell) e depois o executa. Portanto, experimentei várias abordagens diferentes e parece estar encontrando um problema. Se eu tentar invocar o powershell a partir do java, o processo do Windows é iniciado e é visível através do Process Explorer, por mais que o PowerShell nunca retorne, ele fica travado em algum tipo de loop pela aparência. O comando que estou usando é:
String command = "powershell -noprofile -noninteractive \"&C:\\new\\tst.ps1\"";
O comando é então executado usando:
Runtime systemRuntime = Runtime.getRuntime();
Process proc = systemRuntime.exec(command);
No momento, estou codificando o local para o arquivo ps1, pois estava tentando descartar isso como um problema. Usando um explorador de processos, posso ver o processo do PowerShell suspenso e o comando que foi passado para ele foi:
powershell -noprofile -noninteractive "&C:\new\tst.ps1"
que, quando copiado em uma janela do cmd, trabalha para iniciar o arquivo tst.ps1. O arquivo em si é incrivelmente simples neste exemplo e acho que posso excluir a causa do congelamento, pois tentei iniciar outros arquivos ps1 com o mesmo comportamento.
Para aumentar ainda mais a confusão, se eu usar o código java postado acima e passar comandos do PowerShell em vez de um nome de arquivo, ele será executado com êxito.
Examinei a web e vi muitas pessoas enfrentando o mesmo problema, mas ninguém parece ter postado uma solução, espero que seja uma supervisão simples da minha parte e possa ser facilmente corrigida.
Quaisquer dicas / sugestões são apreciadas: D
Alan