Wie kann ich dtrace dazu bringen, den verfolgten Befehl mit Nicht-Root-Berechtigungen auszuführen?

OS X fehlt Linuxstrace, aber es hatdtrace das soll so viel besser sein.

Ich vermisse jedoch die Möglichkeit, einzelne Befehle einfach nachzuzeichnen. Zum Beispiel kann ich unter Linux schreibenstrace -f gcc hello.c um alle Systemaufrufe zu erfassen, was mir die Liste von @ giall die Dateinamen, die der Compiler benötigt, um mein Programm zu kompilieren (das ausgezeichnete memoize script baut auf diesem Trick auf)

Ich möchte Memoize auf dem Mac portieren, also brauche ich eine Artstrace. Was ich eigentlich brauche, ist die Liste der Dateiengcc liest und schreibt in, also was ich brauche, ist eher eintruss. Sicher genug, kann ich @ sagdtruss -f gcc hello.c und erhalten etwas die gleiche Funktionalität, aber dann wird der Compiler mit Root-Berechtigungen ausgeführt, was offensichtlich unerwünscht ist (abgesehen von dem massiven Sicherheitsrisiko besteht ein Problem darin, dass dasa.out Datei gehört jetzt root: -)

Ich habe es dann versuchtdtruss -f sudo -u myusername gcc hello.c, aber das fühlt sich ein bisschen falsch an und funktioniert trotzdem nicht (ich bekomme keina.out Datei zu diesem Zeitpunkt nicht sicher, warum)

Alle diese lange Geschichte versucht meine ursprüngliche Frage zu motivieren:wie bekomme ichdtrace, um meinen Befehl mit normalen Benutzerrechten auszuführen, genau wiestrace unter Linux?

Edit: Es scheint, dass ich nicht der einzige bin, der sich fragt, wie das geht: frage # 1204256 ist so ziemlich das gleiche wie meins (und hat die gleiche suboptimale Sudo-Antwort: -)

Antworten auf die Frage(14)

Ihre Antwort auf die Frage