У меня есть служба XPC, работающая с правами суперпользователя, которая необходима для мониторинга выполнения других определенных процессов.
Извлечение списка запущенных процессов из NSWorkspace, по-видимому, приводит только к списку пользовательских процессов и без корневых демонов
let workspace = NSWorkspace.shared
let applications = workspace.runningApplications
for application in applications {
if let url = (application.executableURL?.absoluteString) {
os_log("%{public}s", log:scribe, type:.debug, url)
}
}
}
Как бы вы получили полный набор запущенных процессов, включая демонов?
Конечно, он может выполнить ps
и проанализировать вывод, но это не идеально, чтобы часто звонить.