nohup
apenas torna o programa imune a SIGHUP
e SIGQUIT
signal. O shell moderno talvez envie outros sinais quando você sair da sua sessão, portanto, não há garantia de que seu programa não seja executado, mesmo sendo executado em nohup
.
A melhor solução é usar tmux
ou screen
ou, se você usar bash
, pode tentar:
$ java -jar project.jar &
$ disown