Вместо того, чтобы зависеть от имени процесса, которое может быть побеждено даже случайно, переименовав исполняемый файл, традиционный способ проверки существующего экземпляра состоит в том, чтобы иметь именованный дескриптор, такой как мьютекс. Во время запуска проверьте, существует ли он, и немедленно выключите его, если он есть.
редактировать
Я просто прочитал вопрос еще раз, и звучит так, будто вы действительно хотите убить предыдущий экземпляр, а не убить новый. Самое близкое, что я могу вспомнить, - это то, что делает Google Chrome, когда вы открываете новое окно, а старое не отвечает, но даже это проверяет отсутствие ответа и затем запрашивает пользователя. Убийство старого процесса звучит немного экстремально. Вы уверены, что это то, что вы хотите сделать?