Аааа ... ты дал мне ключевое слово, которое я искал.Вы хотите контролировать процессы , а не приложения.Вы не можете использовать решение NSWorkspace, если вы пытаетесь перехватывать приложения, отличные от AppKit, или процессы командной строки в дополнение к обычным приложениям Macintosh.
Попробуйте сосредоточиться на решении kqueue .
И если это нехорошо, посмотрите раздел «Сервис-ориентированная альтернатива» в технической заметке Apple.Если вы немного переосмыслите свой подход, вы сможете использовать launchd, чтобы выполнить то, что вы пытаетесь сделать.