Atualmente estou trabalhando em um projeto de software que permite instalação remota via SSH. Transfiro um pequeno instalador e, em seguida, um arquivo compactado do aplicativo principal. O instalador irá descompactar o pacote transmitido e estou preso na parte onde realmente quero executar o aplicativo em segundo plano. No Linux tudo funciona perfeitamente com onadacomando e depois de algumas pesquisas descobri que isso normalmente é feito através do comando start no Windows, mas não consigo fazê-lo funcionar. Se eu executar start calc.exe como um teste, ele funcionará e o processo aparecerá na lista de tarefas (embora sem GUI), mas se eu tentar executar meu próprio .exe cominiciar "" "app.exe" "-master"Não recebo nenhum feedback. Existem alternativas confiáveis para o comando start? O processo deve ser independente da sessão SSH porque deve durar muito tempo. Além disso, o teste com start calc.exe só foi bem-sucedido em um host remoto (Windows 7 VM). Se eu tentasse reproduzir os resultados no localhost (Windows), que uso principalmente para testes no momento, por motivos de conveniência, também falhou. Desde já, obrigado.
Responder1
Se você tiver acesso via SSH a um computador Windows remoto, faça o túnel de encaminhamento reverso para RDP conforme descritoaquie faça login normalmente na sessão GUI. Se você não fizer logout, mas simplesmente encerrar o túnel SSH ou desconectar-se do RDP sem fazer logout, sua sessão estará ativa com todos os programas que você iniciou lá.
Se você não conseguir configurar o túnel reverso, poderá usar outra solução:
executar o programa na sessão 0 por meio do agendador de tarefas. Você pode configurar sua tarefa via terminal com a ajuda do schtasks.exe
. Neste caso você só pode se comunicar com seu programa através de IPC, loop de mensagens ou através de arquivos