Olá amigos,
Estou enfrentando um problema, estou com uma aplicação desenvolvida em JAVA com o Framework MAVEN, porém só funciona se tiver uma sessão logada no linux, executo o comando (java -jar sistemas.jar) e essa aplicação web funciona, se eu fizer logof, matar minha sessão ou pressionar as teclas “CTRL + C” à aplicação java para de funcionar.
Como posso fazer para essa aplicação funcionar sem ter usuário logado no linux?
Por favor esclareça melhor a sua dúvida:
com “sessão”, você está se referindo a sessão de terminal?, o que você está tentando fazer é executar a aplicação fora do terminal(apenas com um duplo click)?
Olá SamuelLira, desenvolvi uma aplicação WEB em ambiente de DEV, tudo funcionar bem, porem quando vou fazer deploy no ambiente PRD (VM - AWS - Linux) tenho que ficar com uma sessão logada no terminal do linux, porque, se eu sair a aplicação para de funcionar.
Gostaria de saber como faço para deixar a aplicação rodando sem ter que tenha um terminal ssh logado. Conseguiu entender?
Provavelmente o comando nohup é o que precisas.
Eu utilizo o comando “java -jar /diretorio/aplicação.jar”, como poderia utilizar esse “nohup”?
você ja tentou alterar nas propriedades para executar direto pelo java? se nao funcionar você pode tentar desabilitar a opção terminal criando um arquivo .desktop com o seguinte conteúdo:
[Desktop Entry]
Name=Nome do seu app
Comment=Comentario #(opcional)
Exec=java -jar /diretorio/aplicação.jar
Icon=caminho/icone.png #(opcional)
Categories=Categoria do seu app; #(com as constantes do linux)
Terminal=false #(aqui desabilita o terminal para esta aplicação)
Type=Application
Version=1.0 #(ou a versao atual caso não seja 1.0 kk)
e marcar o arquivo como exeecutável e confiável
Deve ser algo assim:
nohup java -jar /diretorio/aplicação.jar &
Obrigado Samuel.
deu certo? era isso mesmo que você queria?
pmlm, muito obrigado pela ajuda