|
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
|
|
Самозапуск Windows службы10.09.2013, 16:27. Показов 5008. Ответов 11
Метки нет (Все метки)
Привет всем.
У меня есть программа , "закулисная" часть которой обрабатывается в фоновом режиме в Windows службе. У службы поставлена галочка на автозапуск при старте операционной системы. Но есть одно но, если в службе (при вычислениях) происходит необработанный exception , то ясное дело служба закрываться. При перезагрузке служба уже не запускается, пока не стартануть ее вручную. Собственно вопрос , как сделать так , что бы при остановке службы она сама запускалась снова? Знакомый разработчик говорил, что ставят дублирующую службу , которая следит за первой, мол если первая "упала", то вторая сказу же ее стартует. У кого какие мысли? Спасибо.
0
|
|
| 10.09.2013, 16:27 | |
|
Ответы с готовыми решениями:
11
Windows службы Службы Windows Как остановить две службы Windows в Windows 7 |
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
| 10.09.2013, 16:32 | |
|
поймать ошибку не проще? try catch и всё такое..
0
|
|
|
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
|
||
| 10.09.2013, 23:18 [ТС] | ||
|
Вручную запускать? А если прав нет. Хотя это малая беда, юзеры кроме как запустить с ярлыка ничего не могут. А все ошибки отлавливать одним трай кечем , оно и так стоит, но это все не решение(5к строк....дебажить сложновато). А служба насколько я знаю может упасть не только из-за внутренней ошибки логики. Кстати , способ как перезапускать службу нашел, завтра скину код.
0
|
||
|
39 / 37 / 8
Регистрация: 01.08.2013
Сообщений: 106
|
|
| 11.09.2013, 08:22 | |
|
Job повесить, который будет поднимать службу каждые n минут. (Радикальный способ, если не требующий переделки службы)
0
|
|
|
6 / 6 / 0
Регистрация: 10.06.2013
Сообщений: 32
|
|
| 11.09.2013, 09:13 | |
|
В настройке служб есть вкладка "восстановление", где можно задать действия, предпринимаемые при сбоях. В том числе перезапуск службы и перезагрузка машины.
0
|
|
|
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
|
|||||||
| 11.09.2013, 10:24 [ТС] | |||||||
|
Вообщем как и обещал.
Я вызываю этот метод после установки службы. Редактируются в настройке служб вкладка "восстановление" . Перезапуск после падения через 5 сек. ServiceName - имя вашей службы.
1
|
|||||||
|
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
|
|
| 11.09.2013, 11:03 | |
|
Через код, как уже было сказано, нужно делать обработку исключений. Служба не должна падать из-за того, что где-то в ней случилось исключение. Правильный сценарий - записать исключение в лог и, восстановив контекст, работать дальше.
Хотя знаю парочку программных продуктов, в которых есть специальные службы, которая в случае чего поднимает сломавшиеся другие службы. Но это обусловлено в большей степени повышенными требованиями к доступности службы, нежели нелюбовью к трукачам.
0
|
|
|
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
|
|||||||
| 11.09.2013, 11:15 [ТС] | |||||||
|
Возникла не большая проблема, когда устанавливается служба, то она не может на локальных правах вписать сама себе настройки перезапуска.
Но я использую wix установщик, так и там же при установке самой службы вписал её настройки.
Я же об этом забочусь.
0
|
|||||||
|
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
|
||
| 11.09.2013, 13:40 | ||
|
Например, у меня есть служба, которая пишет важное в базу. много. Периодически пропадает коннект к базе. Что я делаю? я сделал очередь записи в базу на стандартном связном списке. завернул запись в трукач. Не получилось - оставляю в очереди. Кратковременные перебои связи с БД это выдерживает. Долгосрочных пока не было. но на этот случай я сейчас делаю сериализацию очереди в файл, чтобы оперативку не жрать. И главный цикл рабочего потока тоже в трукаче. Если что-то взорвётся - внешний трукач это словит , запишет, и перейдёт к следующей итерации цикла.
0
|
||
|
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
|
|
| 11.09.2013, 18:08 [ТС] | |
|
У меня так же сделано.
Вообщем ладно, спор не о чем. Проблему я решил. Всем спасибо.
0
|
|
| 11.09.2013, 18:08 | |
|
Помогаю со студенческими работами здесь
12
Windows 8. Службы Службы Windows XP Службы Windows 10
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|