У вас есть несколько проблем, если вы хотите оставить процесс запущенным при отключении и увидеть все выходные позже.
Одна из проблем вашего подхода заключается в том, что вы только перенаправляете stdout, но не stderr, поэтому сообщения об ошибках не попадают в файл. Стандартная идиома для перенаправления всего выхода:
java myapp.jar 2>&1 > myapp.log
Это объясняет, что означает 2> & amp; 1, и это дает главу и стих о перенаправлении bash i / o.
Если вы хотите видеть разницу, вы можете сделать
java myapp.jar > myapp.log 2> myapp.err
Даже работая в фоновом режиме (добавив & к команде), процесс все еще привязана к терминалу.
Чтобы сохранить их в живых, вы можете
поддерживать работоспособность терминала, несмотря на то, что потеряете соединение, используя терминальный мультиплексор (см. мой другой ответ или используйте nohup, который будет поддерживать запуск команды (игнорируя SIGHUP).Чтобы использовать nohup, перенаправляя весь вывод в журнал и помещая его в фоновый режим, вы можете просто сделать:
nohup java myapp.jar 2>&1 > myapp.log &