NSRunningApplication.h: "Не все приложения имеют pid"

В комментарии processIdentifier в NSRunningApplication.h:

Не все приложения имеют pid.

А?

Я вижу это в конкретном случае NSRunningApplication, представляющем завершенный процесс (runningProcess.terminated == YES), но я не могу придумать пример работающего приложения, не имеющего идентификатор процесса. Это своего рода Unix 101.

Ошибка в документации или я что-то не хватает?

Ответ 1

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

Люди, которые были у него достаточно долго, увидели достаточно интересные хаки, которые, по их мнению, были важными для определения.