time
特定の命令が消費するCPU時間を計算する場合は、これは優れた命令です。
私は、プログラムとそのサブルーチンがアクセスするファイルを一覧表示できるようなものを探しています。リアルタイムまたはポストレポート。
現在私は以下を使用しています:
#!/bin/bash
strace -ff -e trace=file "$@" 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print'
ただし、実行したいコマンドが次に関連する場合はsudo
それほどスマートではありません(既存のファイルまたは権限の問題があるファイルのみを一覧表示したり、読み取ったファイルと書き込んだファイルにグループ化したりできます)。そしてstrace
かなり遅いので、より速いオプションがあれば良いようです。
ベストアンサー1
私はあきらめて自分のツールを書いた。その文書を引用すると、次のようになります。
SYNOPSIS
tracefile [-adefnu] command
tracefile [-adefnu] -p pid
OPTIONS
-a List all files
-d List only dirs
-e List only existing files
-f List only files
-n List only non-existing files
-p pid Trace process id
-u List only files once
ファイルを出力するだけなので処理する必要はありませんstrace
。
https://codeberg.org/tange/tangetools/src/branch/master/tracefile