05.02.2016 17:14
student
 
Цитата:
OlegON 4. Всякие сценарии по очистке системы собирать - обязательно где-то не сработает
все таки это же групповые политики и там события и на вход и на выход одновременно - сомневаюсь что оба они будут не отработаны
05.02.2016 17:15
baggio
 
погоди... а что мешает писать в файл... если файл занят на запись значит прога работает... свободен.... значит на запущена...
05.02.2016 17:15
OlegON
 
Цитата:
whitewizard тогда обновляй каждую минуту файл флага, при условии, что не более двух минут прошло со времени последнего обновления.
иначе удаляй его.
Да, я уже думал над этим. Чем не нравится - придется делать параллельный поток (в основном есть долгие процедуры), если повиснет сам мой софт, этот поток будет обновлять файл до посинения, а сейчас через несколько часов файл убивается новой запущенной программой, считая предыдущий экземпляр зависшим.
05.02.2016 17:17
OlegON
 
Цитата:
student все таки это же групповые политики и там события и на вход и на выход одновременно - сомневаюсь что оба они будут не отработаны
не отработает создание этих политик на автомате :)
05.02.2016 17:18
baggio
 
а еще можно кидаться бродкастами ... каждую секунду...
при старте пауза... ждем нет ли нужных бродкастов... если нет - прога не работает...
если есть пакетики - работает...
не? помоему иде яне плохая?
05.02.2016 17:18
OlegON
 
Цитата:
baggio погоди... а что мешает писать в файл... если файл занят на запись значит прога работает... свободен.... значит на запущена...
Аналогично варианту с обновлением файла, даже хуже, поскольку, если прога повиснет, то флаги начисто отменяем... Еще ребутиться придется на недоос, чтобы его снести...
05.02.2016 17:21
OlegON
 
Цитата:
baggio а еще можно кидаться бродкастами ... каждую секунду...
при старте пауза... ждем нет ли нужных бродкастов... если нет - прога не работает...
если есть пакетики - работает...
не? помоему иде яне плохая?
Идея плохая тем, что по сути равная постоянному обновлению файлика, она слишком усложняет конструкцию и ресурсы жрать будет.

Вы сильно углубляетесь в алгоритмические изыски, в то время, как вопрос-то был немного другой... Под виндой убогой это сделать можно или нет?
05.02.2016 17:21
student
 
создай UDP-сокет на localhost - при каждом запуске проверяй занят ли уже нужный UDP-порт - занят - пошли на него пакет чтобы уже работающее поставило фокус на себя и выйди - все в памяти и никаких файлов :)

пы сы
походу опередили :)
08.03.2016 03:36
Tema
 
странная схема в первом сообщении, не проще было стандарт использовать?
- создаем файл-флаг
- делаем дело
- удаляем файл

если файл есть, значит дело не сделано - предпринимаем меры. Время предыдущего запуска, если нужно, сохраняем отдельно.
08.03.2016 06:32
OlegON
 
Цитата:
OlegON 1. Запускается программка, создает файлик.
3. Программка завершается и удаляет файлик.
Вот, если между 1. и 3. рубануть по питанию, то файлик застревает и программка застревает надолго (возраст файлика проверяется).
Цитата:
Tema странная схема в первом сообщении, не проще было стандарт использовать?
- создаем файл-флаг
- удаляем файл
либо я тебя неправильно понял, либо ты первое сообщение не читал... В чем твоя схема отличается от моей и как она защищена от ребута и прочих убийств программы между 1 и 3? Напоминаю, что суть кроссплатформенная, поэтому WM_* поймать не удастся.
Часовой пояс GMT +3, время: 13:43.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.