Я довольно новичок в Linux
Мне нужно создать процесс Java, который является сиротой (а не дочерним процессом какого-либо процесса), и он должен быть либо сервисом, либо иметь уникальное имя процесса, чтобы я мог остановить его, когда захочу.
По сути, я пытаюсь заставить Gitlab развернуть Java-сервер из CI. Каждая сборка CI должна идентифицировать и уничтожить экземпляр сервера, если он уже запущен, и создать новый. (Сервер также должен работать как сирота, иначе сборка CI застревает в ожидании завершения работы сервера.)
Конечно, я могу просто убить все запущенные процессы Java, но я бы хотел более понятный способ, если у меня когда-нибудь будет запущен процесс Java, который не является сервером.
Я пытался создать псевдоним, но bash не видит его, пока не попробую псевдоним в терминале. (Как создать сервис в Ubuntu Upstart Я также попытался использовать функцию, вставив в .bashrc и .bash_aliases, следуя инструкциям из Как запустить псевдоним в сценарии оболочки? проверить, будет ли он работать как псевдоним и иметь собственное имя процесса, но он также не удался.
Я бы сделал сервис, но я новичок в Linux и не знаю как, плюс каталог, в котором хранится jar, меняется при каждой сборке. Я не знаю, как передать каталог службе, чтобы Java знала, что он работает.