|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,702
|
||||||
OC Windows, как сделать так, чтобы при запуске процесса, он убивался, если уже такой процесс есть?05.10.2014, 11:55. Показов 1079. Ответов 4
Метки нет (Все метки)
Ну то есть экзешник должен выполняться в оси в единственном экземпляре, как сие реализовать ГРАМОТНО? По-простому-то я сделаю. Я в крайнем случае файл какой создам процессом, который и будет определять наличие последнего (хотя опять же, а если процесс аварийно закончится, значит, он не уничтожит этот файл и в следующий раз не запустится. Тут надо подумать). Можно также посмотреть межпроцессорное взаимодействие.
Надо какое-то изящное решение. Я имел ввиду, может, API-функция какая есть? Например, функция f, которая возвращает true, если этот экзешник уже запущен. Тогда всё просто:
0
|
||||||
| 05.10.2014, 11:55 | |
|
Ответы с готовыми решениями:
4
Как сделать так, чтобы при запуске программы её не было видно? Как сделать так, чтобы папка создавалась вне зависимости от того, что папка с таким именем уже есть? Как отрубать текущий процесс если уже есть запущенный экземпляр? |
|
Ушел с форума
|
|
| 05.10.2014, 12:28 | |
|
Типовое решение - использовать именованный объект ядра, например мьютекс.
Если после успешного создания мьютекса GetLastError вернет ERROR_ALREADY_EXISTS, значит, приложение где-то уже запущено. При желании мьютекс можно сделать глобальным (префикс "Global\" в имени), тогда под проверку будут попадать процессы во всех запущенных сессиях (включая терминальные). Единственное: для такого мьютекса нужно будет настроить разрешения доступа, иначе CreateMutex будет завершаться с ошибкой ERROR_ACCESS_DENIED.
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,702
|
|||||||
| 05.10.2014, 20:06 [ТС] | |||||||
|
А так вот можно, без GetLastError()?
http://www.sourceware.org/pthr... index.html
А для функции set_open вообще нет объяснений, хотя в хидерах она есть, возвращает -1. Похоже, вместо неё заглушка какая-то.
0
|
|||||||
|
Ушел с форума
|
||
| 05.10.2014, 23:21 | ||
|
Все, что нужно (и достаточно) - вызвать CreateMutex и проверить код GetLastError.
0
|
||
|
|
||||||
| 12.10.2014, 09:48 | ||||||
0
|
||||||
| 12.10.2014, 09:48 | |
|
Помогаю со студенческими работами здесь
5
Как сделать так чтобы при запуске программы всплывало окошко со входом(регистрацией) Как сделать так что бы батник мониторил процесс и если процесс перезепустился то запуск или перезапуск другой программы Как в базе данных, в запросе сделать так, чтобы пользователь вводил даты, и если такой даты нету, то выводило окно "тако
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|