Invocando um processo Linux do Windows e recebendo stdout
-
05-07-2019 - |
Pergunta
Eu tenho um aplicativo herdado em nossa empresa construída em ... ahem; VB clássico (VB 6). Ele possui um componente Optimizer (CPLEX MIP Solver) em execução em um servidor Linux e é desenvolvido em Java.
Se quisermos fornecer uma interface do Windows para invocar a instância do otimizador em um servidor Linux remoto; Como devo implementá -lo?
O otimizador aprimorará as mensagens sobre seu progresso e precisa ser exibido na interface do usuário.
Eu pensei em duas opções a partir de agora.
- Invoque o processo Linux com Plink. Não tenho certeza se pode trazer o STDOUT para o Windows.
- Crie um pequeno aplicativo Java e carregue -o como um daemon no servidor Linux e comunique -se com o TCP.
Apreciaria conselhos de especialistas. Obrigado pela mão amiga!
Solução
Você também pode usar o SSH para executar comandos e capturar sua saída, por exemplo, para .NEThttp://www.codeproject.com/kb/ip/sharpssh.aspx
Você pode automatizar o processo de login usando chaves.
Outras dicas
A opção Plink é de longe mais fácil de implementar (desde que você tenha algo análogo ao system()
Ligue para a API Win32)
Se o componente é escrito em Java, por que você não o usa no Windows? Se não é e eu o entendi mal, você tem o código -fonte? Se sim, basta copiar para o Windows e recompilar. Se realmente for específico do Linux, Cygwin Pode ser uma boa opção também. No entanto, ainda requer o código -fonte original.