2016-07-26 13 views
0

Ich habe eine Kakao-App, die eine Liste von Prozessen erhalten muss. Nachdem ich das App-Sandboxing aktiviert habe, erhalte ich /bin/ps: Operation not permitted. Gibt es eine andere Möglichkeit, dies zu tun, die mit App-Sandboxing kompatibel ist? Ich führe dies über NSTaskAusführen/bin/ps mit NSTask mit App Sandboxing aktiviert

+0

, deshalb, Sandbox eine der dümmsten Ideen auf Desktop-Computern seit den späten 40er Jahren ist. –

+0

Welche Attribute der Prozesse interessieren Sie? –

+0

@mahaltertin der Pfad – denniss

Antwort

1

Sie können ps nicht aus der Sandbox ausführen, weil es ein Set-UID-Root-Programm ist.

Es gibt keine andere dokumentierte Möglichkeit, eine Prozessliste zu erhalten. Es gibt jedoch eine undokumentierte API, die in libproc.h beschrieben ist. Ich bin mir nicht sicher, ob Sie es aus der Sandbox verwenden können, aber es ist einen Versuch wert.

0

Sie können [[NSWorkspace sharedWorkspace] runningApplications] verwenden, um eine Liste aller Prozesse abzurufen. Dies wird ein Array von NSRunningApplications zurückgeben.

https://developer.apple.com/reference/appkit/nsworkspace https://developer.apple.com/reference/appkit/nsworkspace/1534059-runningapplications https://developer.apple.com/reference/appkit/nsrunningapplication

+0

, der keine Liste aller Prozesse zurückgibt. nur eine Liste von Benutzerprozessen. – denniss