[ОТВЕТИТЬ]
Опции темы
09.03.2016 15:03  
OlegON
Наличие/отсутствие флага, выставляемого уборщицей.
Опять уходим от системного решения в сторону алгоритмического, ну да ладно.
Программа запускается постоянно, независимо от того, работает она или нет. (привет виндошедалеру)
Есть флаг начала. Неоднозначность в вариантах:
1 вариант
Запустили, выставили флаг начала. Уборщица.
2 вариант
Запустили, выставили флаг начала. Работаем.

суть задачи не в определении зависшего процесса, а в недопущении запуска второй копии при работающей первой.
 
09.03.2016 15:05  
Micle
Цитата:
Сообщение от grannie
Если мы "флагируем" И начало, И конец процесса - мы всегда сможем разобраться после внезапной уборщицы, вытаскивающей кабель из сервера, запущен ли уже процесс штатно или "висит".
Так кто/что нам это мешает делать?
Что то я не очень понимаю алгоритм по которому это можно сделать.... Как именно нужно флаговать... и как отделить уборщицу от повторного запуска ?
 
09.03.2016 15:08  
Micle
Цитата:
Сообщение от OlegON
суть задачи не в определении зависшего процесса, а в недопущении запуска второй копии при работающей первой.
Так удали файлы при запуске... винды
 
09.03.2016 15:11  
OlegON
Цитата:
Сообщение от Micle
Так удали файлы при запуске... винды
угу, давайте ломать голову, как сделать так, чтобы этой процедуре можно было гарантированно доверять, особенно, если винда разная (по версиям, политикам и локализации) и никто не логинится, например?
 
09.03.2016 15:18  
Micle
Цитата:
Сообщение от OlegON
угу, давайте ломать голову, как сделать так, чтобы этой процедуре можно было гарантированно доверять, особенно, если винда разная (по версиям, политикам и локализации) и никто не логинится, например?
тебе написать службу виндовую? Она будет гарантировано запускаться вместе с виндой, не зависимо от вошедшего пользователя и удалять файлы при запуске.... Это кстати ещё один вариант.
 
09.03.2016 15:20  
grannie
Флаг1 - обычный файлик, формируемый по запуску
Флаг2 - файлик, формируемый по запуску, созданный с использованием FILE_ATTRIBUTE_TEMPORARY и FILE_FLAG_DELETE_ON_CLOSE, см. выше.
Флаг3 - обычный файлик, формируемый по завершении процесса

Запустили,
если есть флаг1, но нет флаг2 и флаг3, то - Уборщица.
если есть флаг1 и флаг2, но нет флаг3, то - активная копия запущена
если нет флаг1 - обнуляем все флаги нафиг и запускаем

Это если я правильно понимаю логику этих опций, конечно. И если ну ооооочень не хочется действительно просто сделать автоматически стираемую директорию при запуске.
 
09.03.2016 15:23  
Micle
уборщица не удалит 2 файлик.... если только сама залогинится, с целью его удаления )))
 
09.03.2016 15:30  
OlegON
Цитата:
Сообщение от Micle
тебе написать службу виндовую? Она будет гарантировано запускаться вместе с виндой, не зависимо от вошедшего пользователя и удалять файлы при запуске.... Это кстати ещё один вариант.
да я и сам умею писать разные костыли, спасибо... вопрос только в том, что тогда дистрибутив моей программки уже будет конкретно так страдать немногоплатформенностью, просить прав администратора и прочее, прочее, что я сопровождать как-то не очень хочу.
Сейчас ее скачал и запустил. А надо будет еще сервисный ехе вытащить, установить и т.п. Это же самое относится к организации автостираемой при запуске директории.
 
09.03.2016 15:34  
Micle
Кстати если программу запускать из этой службы то и файлики никакие не нужны... И уже его готовый "пускач" для этих целей runasservice называется и гуглится прекрасно
 
09.03.2016 15:35  
OlegON
Т.е. можно при включенной UAC поставить сервис, не отвечая на вопросы?
 
 


Опции темы



Часовой пояс GMT +3, время: 07:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.