Здравствуйте, MaLS, Вы писали:
MLS>Копаюсь в очень легаси коде, в котором наткнулся а то, что повторный запуск exe файла контролируется по средствам проверки наличия процесса с таким же именем.
MLS>Утрированно код написанный под .net 4.5 выглядит так:
...
MLS>В своей практике для синхронизации процессов всегда использовал Mutex и как то не задумывался про контроль процессов по имени.
MLS>Теперь же требуется обосновать правильность или неправильность такого подхода.
MLS>Кинте, пожалуйста, ссылки на документацию или статьи майкрософитовцев, которые говорят что-нибудь о таком подходе.
Так задача какая? Лишь бы работало или именно переписать хочется?
Если за много лет не было претензий, то пусть и дальше работает.
Если хочется сделать правильно, то для обоснований много всякого можно придумать.
Тут уже зависит от конкретного приложения. Можно и данные поломать.
Кто-то копирует файл приложения и в одной папке получаются Program.exe и Program_copy.exe. Запускает их одновременно.
Тут можно и какую-нибудь локальную базу сломать и ещё какие-нибудь данные в непонятное состояние перевести, т.к. программа просто никакую синхронизацию не проводит и к такому не готова.
Может и кого другого за собой увести, что сервер перезагружаться придётся. И всё потому, что кто-то файлик случайно/специально переименовал, а не усиленно сидел ломал.