У меня есть скрипт, который запускает сервер на удаленной виртуальной машине. Все прекрасно работает, пока я не закрою оболочку, где я выполнил скрипт. Когда оболочка закрывается, сервер тоже. После осмотра я обнаружил следующее:
&
отправит задание на задний план при выполнении с символомdisown -h
отключит задание от оболочки и позволит запустить его независимо от оболочки.
Команда, которую я использовал:
./startServer.sh nasb_wxscat160_catalog-4.1.6 1.0.8 > catalog-log.txt & disown -h
Когда я закрыл оболочку и проверил, используя ps -ef | grep java
чтобы увидеть, если работа все еще работает, я видел это в списке. Однако, когда я пытался подключиться к серверу, это было не отвечает.
При более глубоком рассмотрении файл журнала заполнялся до тех пор, пока я не закрыл оболочку и, используя флаг ps -m
я говорю, что задания процесса не работали.
Кто-нибудь сталкивался с чем-то подобным?