Eu criei um arquivo .jar que escuta na porta 8089 e recebe solicitações de postagem. Eu começo em segundo plano na minha máquina linux com os seguintes comandos:
nohup java -jar myServer.jar &
[1] 19769
-bash-4.1$ nohup: ignoring input and appending output to 'nohup.out'
jobs
[1]+ Running nohup java -jar myServer.jar &
disown
Pode ser redundante usar nohup e disown, mas, no meu entender, isso deve funcionar efetivamente para executar o processo em segundo plano e separá-lo do terminal. Quando eu saio do meu SSH e faço login novamente, ele ainda está escutando:
tcp 0 0 0.0.0.0:8089 0.0.0.0:* LISTEN 19769/java
Agora saio e tento enviar uma solicitação de postagem. Eu recebo um erro sem resposta, e quando eu entro de volta, o processo não está mais rodando. De alguma forma, enviar a solicitação de postagem enquanto não estiver conectado faz com que o processo falhe. O que eu perdi?
Editar : em resposta ao primeiro comentário por @vastlysuperiorman, deve-se notar que o meu arquivo nohup.out não contém erros, e que quando eu lanço uma solicitação de postagem de curl enquanto estiver logado no servidor, ele retorna os dados conforme o esperado.