Ich wollte DTrace verwenden, um zu sehen, "welche Syscalls von meinem Shell-Skript gemacht werden".Fehler beim Ausführen von script.sh: unbekannter Fehler
Ich habe ein sehr einfaches Shell-Skript, shell.sh
und gab es Privilegien ausführen:
#!/bin/bash
grep 1 <<< 123
I cd
‚in seinem Verzeichnis d und lief diese einfache DTrace-Skript:
sudo dtrace -n 'syscall:::entry
/pid == $target/
{
@[probefunc] = count();
}' -c ./trace-me.sh
I Erhalten Sie diese Fehlerausgabe:
dtrace: failed to execute ./trace-me.sh: unknown error
Was ist hier passiert ? Ich habe csrutil enable --without dtrace
ausgeführt. Das DTrace-Skript läuft einwandfrei, wenn ich das -c
arg entfernen (und $target
durch eine PID ersetzen).
Ist das nur ein weiterer Mac Gotcha? Ich betreibe macOS Sierra 10.12.5 Beta.
Werfen Sie einen Blick auf diese Antwort, es könnte Ihr Problem lösen: https://stackoverflow.com/a/36760408/499581 –