bash
macOSで実行するたびにコンソールにアクセスされたすべてのファイルを印刷する必要があるという問題があります。
比較的簡単な方法はありますか?たぶんdtrace
これを非常に簡単にすることができますか?
答え1
「bash」というプロセスで直接開いたすべてのファイルを表示するには、次のようにします。
$ sudo dtrace -n 'syscall::open*:entry/execname == "bash"/{ trace(copyinstr(arg0)); }'
あるいは、bashの起動とプロンプトの間に開かれたすべてのファイルを表示したい場合があります。これを行うには、次の操作を行います。
$ sudo dtrace -n 'syscall::open*:entry/progenyof($target)/{ printf("%s %s", execname, copyinstr(arg0)) }' -c bash
開いているファイルとそのファイルにアクセスするために使用されるコマンドが表示されます。