Это живая изгородь.«Работающее приложение» - это то, что пользователь считает приложением.Отображается в переключателе вкладок cmd и т. Д. Это не обязательно должно соответствовать непосредственно процессу.В классической среде несколько приложений размещались в одном Unix-процессе, классическом.В этой ситуации NSRunningApplication будет возвращать -1 для каждого «приложения».
Люди, которые занимались этим достаточно долго, видели достаточно интересных хаков, которые, по их мнению, важно определить.