Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
10 / 10 / 6
Регистрация: 08.01.2013
Сообщений: 579

Java приложение в качестве демона на сервере

25.01.2017, 15:06. Показов 1784. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите как можно запустить приложение написанное на Java в качестве демона на сервере... ???
может есть скрипты bash или какие-то фишки для этого ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2017, 15:06
Ответы с готовыми решениями:

Запуск консольного приложения в качестве демона?
Есть несколько консольных приложений, которые слушают определенные порты. Как теперь мне их запустить в качестве демонов? Локально...

Как java-приложение может попросить OS запустить внешнее приложение?
Как java-приложение может попросить OS запустить внешнее приложение?

Какую роль необходимо выбрать, чтобы был доступ к программе в качестве клиента, установленной на сервере?
Здравствуйте! Есть сервер windows 2008, рабочая группа. Какую роль сервера необходимо выбрать, чтобы был доступ к программе в качестве...

3
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
25.01.2017, 15:52
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/sh
#
# test-daemon          Manage test-daemon service.
#
# chkconfig: 2345 90 60
# description: 
#
APP_PATH=/<папка с jar или war файлом>
JARFile=<имя jar/war файла>
PIDFile=/var/run/test-daemon.pid
# для отладки все что после -Xmx2g
JVM_OPTS="-Xmx2g -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" 
export LANG=en_US.UTF-8
 
function check_if_pid_file_exists {
    if [ ! -f $PIDFile ]
    then
 echo "PID file not found: $PIDFile"
        exit 1
    fi
} 
 
function check_if_process_is_running {
 if ps -p $(print_process) > /dev/null
 then
     return 0
 else
     return 1
 fi
}
 
function print_process {
    echo $(<"$PIDFile")
}
 
case "$1" in
  status)
    check_if_pid_file_exists
    if check_if_process_is_running
    then
      echo $(print_process)" is running"
    else
      echo "Process not running: $(print_process)"
    fi
    ;;
  stop)
    check_if_pid_file_exists
    if ! check_if_process_is_running
    then
      echo "Process $(print_process) already stopped"
      exit 0
    fi
    kill -TERM $(print_process)
    echo -ne "Waiting for process to stop"
    NOT_KILLED=1
    for i in {1..20}; do
      if check_if_process_is_running
      then
        echo -ne "."
        sleep 1
      else
        NOT_KILLED=0
      fi
    done
    echo
    if [ $NOT_KILLED = 1 ]
    then
      echo "Cannot kill process $(print_process)"
      exit 1
    fi
    echo "Process stopped"
    rm $PIDFile
    ;;
  start)
    if [ -f $PIDFile ] && check_if_process_is_running
    then
      echo "Process $(print_process) already running"
      exit 1
    fi
    cd $APP_PATH
    /usr/bin/java $JVM_OPTS -jar $JARFile >& $APP_PATH/critical.log & 
    echo $! > $PIDFile
    echo "Process started"
    ;;
  restart)
    $0 stop
    if [ $? = 1 ]
    then
      exit 1
    fi
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
esac
 
exit 0
помещаешь это все в файл в папке /etc/init.d, сам файл называешь к примеру test-daemon (можно назвать по другому и по файлу тоже поменять test-daemon), даешь права выполнения:
Bash
1
chmod +x test-daemon
далее запуск/остановка/перезапуск
Bash
1
2
3
service test-daemon start
service test-daemon stop
service test-daemon restart
если запускаешь от рута и не залогинен под рутом, то соответсnвенно sudo service...
0
10 / 10 / 6
Регистрация: 08.01.2013
Сообщений: 579
25.01.2017, 16:45  [ТС]
Вот, нашел уже интересную тему... пробую сделать тестовое решение на основе этого...

Создаем свой демон (daemon) на Java
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
25.01.2017, 20:27
а, ну да, надо же еще демоном сделать. я тот скрипт обычно к spring boot приложению использовал когда тот не имел своего

Добавлено через 3 минуты
да, есть еще wrapper и yajsw
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.01.2017, 20:27
Помогаю со студенческими работами здесь

Создать Windows приложение на Java в NetBeans (Java Desktop Application)
Здравствуйте. Хочу создать Windows-приложение на Java с помощью NetBeans 7.3. При создании нового проекта в подразделе «Java» должен быть...

Можно ли на обычной JAVA написать приложение для смарт-карт или требуется на JAVA CARD
обычная JAVA или требуется именно JAVACARD

Чтение теста из файлов в Java. java коллекции, потоки. создать приложение, в котором будет два отдельных потока
Создайте два текстовых файла с именами, например, countries.txt и capitals.txt. В первом файле должны быть перечислены названия стран,...

Приложение Vk: подойдет ли в качестве сервера PHP + MySQLi?
Всем привет. В данный момент пишу приложение дял контакта, уже достаточно хорошо осоил API и т.д., с этим проблем нет, но, как...

Многопоточное приложение на Java (Java Thread)
Дано было такое задание: Выполнить приложение командной строки с двумя параметрами , один из которых – количество потоков, другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru