Мне нужно войти на сервер через SSH и запустить мою программу java в каталоге с массивными данными размером до 50 ГБ. По моим расчетам, запуск моего кода на массивных данных займет около 6 часов. Есть ли способ позволить серверу запускать мою java-программу, чтобы не было проблем с запуском моего кода, даже если я отсоединяюсь от сервера? Спасибо заранее!Как я могу позволить серверу запускать мою java-программу?
ответ
Вы можете начать сеанс в screen
и запустить процесс Java внутри него. Затем вы можете отсоединить его и отключить сеанс SSH и снова присоединиться к нему, чтобы проверить ход выполнения.
Вы можете использовать Java-оболочку для запуска вашей Java-программы, такой как сервис, если, конечно, это не требует взаимодействия с пользователем. Это способ автоматизировать старт/стоп/пинг статус пакетных двигателей, серверов приложений, таких как JBoss или других.
Это хороший один, который используется в некоторых продуктах http://wrapper.tanukisoftware.com/doc/english/download.jsp
я рекомендую использовать экран (см Erik Экман), но есть также поЬир:
запустить его nohup java -jar path/to/your.jar
, когда сделано убить процесс по идентификатору. или написать сценарий bash