Соединение Tcpip отказано при использовании в качестве сервиса в raspbian
У меня есть jar-файл, который прослушивает запросы tcpip и отправляет соответствующие данные. этот файл jar должен работать на службе в raspbian.
я следовал инструкциям по этой ссылке
Я создал sh-файл и поместил его в /usr/local/bin (Tourmaline.sh):
#!/bin/sh
ИМЯ_СЛУЖБЫ=турмалин
PATH_TO_JAR=/usr/local/bin/Tourmaline.jar
PID_PATH_NAME=/tmp/Tourmaline-pid
случае $1 в
начало)
echo "запуск $SERVICE_NAME ..."
если [ ! -f $PID_PATH_NAME ]; то
старпома на Java -банку $PATH_TO_JAR /ТММ-2&ГТ;> /dev/нуль &ГТ;> /dev/нуль усилителя;
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME запущен ..."
еще
echo "$SERVICE_NAME уже запущен ..."
fi
;;
остановить)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stoping ..."
убить $PID;
echo "$SERVICE_NAME остановлено ..."
rm $PID_PATH_NAME
еще
echo "$SERVICE_NAME не работает ..."
fi
;;
перезапуск)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME остановка ...";
убить $PID;
echo "$SERVICE_NAME остановлено ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
nohup и Ява -банку $PATH_TO_JAR /ТММ-2&ГТ;> /dev/нуль &ГТ;> /dev/нуль усилителя;
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME запущен ..."
еще
echo "$SERVICE_NAME не работает ..."
fi
;;
эсок
когда я запускаю "sudo Tourmaline.sh пуск" на терминале программа начинает работать, и когда я отправляю запрос, я получаю ответ.
это была фаза 1. Далее я создал скрипт сервиса и поместил его в файл /etc/systems/system (Tourmaline.service):
[Единица измерения]
Описание = Турмалин
После= сеть.цель
[Обслуживание]
Тип = разветвление
ExecStart = /usr/local/bin/Tourmaline.sh начало
ExecStop = /usr/local/bin/Tourmaline.sh стоп
ExecReload = /usr/local/bin/Tourmaline.sh перезарядка
[Устанавливать]
WantedBy=многопользовательский.target
Я включить использование "sudo systemctl включить турмалин" и начать его "команду sudo systemctl начать турмалин.услуги"
в статусе я вижу, что служба запущена и активна, однако, когда я отправляю запрос, я получаю ошибку "отказано в соединении", я пытаюсь запустить "sudo Tourmaline.sh начало", но там написано:
программа уже запущена (потому что служба запущена).
как я могу сделать так, чтобы служба принимала соединения?
Что я уже пробовал:
я использовал netstat -l, чтобы увидеть используемые порты:
когда я использую Tourmaline.service, никакой tcp не слушает
когда я использую Tourmaline.sh я получаю tcp6 0 0 [::]:формата rtcm-sc104 [::]:* слушать