2016-07-30 12 views
1

Ich verwende top -l 1, um die erforderlichen Informationen zu erhalten.Fehler - NSTask mit oberem Befehl

Wenn ich versuche, den obigen Befehl zu starten NSTask mit Ich erhalte Fehlermeldung, dass launch path not accessible

Hier ist der Code:

let task = NSTask() 
task.launchPath = "/bin/top" 
task.arguments = ["-l","1"] 
task.launch() 
task.waitUntilExit() 

die Einführung Pfad korrekt angegeben ist?

Vielen Dank!


Edit:

mit task.lauchPath = "/usr/bin/top" gearbeitet, aber wenn ich Sandbox ermöglichen es ein Fehler - Couldn't posix_spawn: error 1

Ist es möglich, top zu verwenden, wenn die App Sandbox ist?

Antwort

0

Öffnen Sie die App "Terminal" und geben Sie which top ein.

OOPers-MacBook:~ dev$ which top 
/usr/bin/top 

Versuchen Sie mit task.launchPath = "/usr/bin/top".

+0

Es funktioniert, aber wenn ich Sandbox aktivieren, gibt es einen Fehler - 'Konnte nicht posix_spawn: Fehler 1'. Kann ich 'top' nicht verwenden, wenn Sandbox aktiviert ist? –

+0

@ user6528991, wahrscheinlich keine. Sandbox-Apps können keine beliebigen Binärdateien aufrufen. – OOPer

+0

aber ich kann 'system_profiler' ohne Probleme verwenden –