Один из способов - получить доступ к списку процессов вашей операционной системы и подсчитать, сколько появлений исполняемого файла появляется.Но это может быть одурачено несколькими копиями исполняемого файла с разными именами.
Чтобы убедиться, что вы подсчитываете все вхождения независимо от имени исполняемого файла, вы можете создать глобальный объект общей памяти (конечно, с синхронизированным доступом)где каждый экземпляр регистрирует свой идентификатор процесса.Затем вы можете проанализировать этот список и проверить его по списку идентификаторов процессов ОС в случае, если какой-либо из экземпляров погиб, прежде чем отменить свою регистрацию.