Ключевая фраза, которая вам здесь нужна, - «демонизация процесса». Когда-нибудь задумывались, почему процессы системного сервера часто заканчиваются на 'd' в Linux / Unix? «D» означает «демон» по историческим причинам.
Итак, процесс отсоединения и превращения в настоящий серверный процесс называется «демонизация».
Он полностью общий и не ограничивается только процессами Java.
Есть несколько задач, которые необходимо выполнить, чтобы стать по-настоящему независимым процессом демона. Они перечислены на странице Википедии.
Две основные вещи, о которых вам нужно беспокоиться:
- Отделение от родительского процесса
- Отделение от tty, который создал процесс
Если вы гуглите фразу «демонизация процесса», вы найдете множество способов для достижения этой цели и более подробную информацию о том, почему это необходимо.
Большинство людей просто используют небольшой сценарий оболочки для запуска процесса Java, а затем заканчивают команду Java с помощью символа «&» для запуска в фоновом режиме. Затем, когда завершается процесс сценария запуска, процесс Java все еще выполняется и будет отсоединен от уже мертвого сценария.