Фоновый процесс в Linux

Я разработал соединение с сервером сокетов Java, которое работает нормально.

При запуске с терминала он начинает с прослушивания от клиента. Но когда закрываю терминал, он перестает слушать.

Мне нужно продолжить, даже если терминал закрыт пользователем, с которого был запущен файл jar.

Как запустить приложение сокета сервера Java в Linux в качестве фонового процесса?

23
задан Nayuki 2 October 2015 в 04:25
поделиться

3 ответа

Есть одна важная вещь, которую нужно сделать после добавления & в конце команды. Процесс все еще связан с терминалом. Вам нужно запустить disown после запуска команды java.

java -jar yourApp.jar > log.txt &
disown

Теперь вы можете закрыть терминал.

6
ответ дан 29 November 2019 в 01:54
поделиться

try,

 java -jar yourApp.jar &

& запустит новый поток процесса, я не проверял это, но если все еще это не работает, тогда перепишите его в файле сценария и запустите i с &

1
ответ дан 29 November 2019 в 01:54
поделиться

Шаг 1.

Создать новый экран

screen -RD screenname

Шаг 2.

Для входа в экранный терминал

press Enter

Шаг 3.

Запустите вашу команду или скрипт (для запуска в фоновом режиме) во вновь открытом терминале

Шаг 4.

Чтобы выйти из экрана терминала

ctrl + A + D

Шаг 5.

Чтобы отобразить экранные терминалы

screen -ls

, которые будут печатать что-то вроде ниже

There is a screen on: 994.screenname (12/10/2018 09:24:31 AM) (Detached) 1 Socket in /run/screen/S-contact.

Шаг 6.

Для входа в фоновый процесс

screen -rd 994.screenname
0
ответ дан 29 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: