Tenho um programa que escrevi: main.exe
Este software recebe mensagens via HTTP e imprime no terminal (STDOUT). eu useiMSSNpara registrar este software como um serviço para iniciá-lo automaticamente após a inicialização.
(Não é adequado usar a pasta de inicialização neste caso, porque não podemos fazer login remotamente. Então, eu precisava de uma solução onde o programa iniciasse imediatamente após a inicialização, sem fazer login.)
Agora ele está sendo executado como um processo em segundo plano, mas preciso verificar sua saída.
É possível abrir uma nova janela de terminal para um processo em segundo plano em execução para ver sua saída real?
Responder1
É possível abrir uma nova janela de terminal para um processo em segundo plano em execução para ver sua saída real?
No seu caso, não, isso não é possível. Quando você transforma um programa em um serviço, ele é executado pela conta SYSTEM. Dado que você não pode fazer login como SYSTEM, é impossível interagir com sua sessão. Se você fosse capaz de fazer isso, seria uma grande falha de segurança de qualquer maneira.
A única opção que você tem para contornar isso é fazer com que a saída do programa seja um arquivo de log que seja salvo em algum lugar para que você possa abrir o arquivo de log.
Lembre-se de que você desejará abrir o arquivo, anexá-lo e fechá-lo novamente. Caso contrário, o programa manterá um bloqueio de gravação no arquivo e você não conseguirá ver o conteúdo do arquivo de log.