2
有没有一种方法可以计算shell脚本在执行时执行的分支数?我一直在看,也许写的用getrusage(2)
一个C包装和分析shell脚本在执行过程中执行的分支数
struct rusage {
struct timeval ru_utime; /* user time used */
struct timeval ru_stime; /* system time used */
long ru_maxrss; /* max resident set size */
long ru_ixrss; /* integral shared text memory size */
long ru_idrss; /* integral unshared data size */
long ru_isrss; /* integral unshared stack size */
long ru_minflt; /* page reclaims */
long ru_majflt; /* page faults */
long ru_nswap; /* swaps */
long ru_inblock; /* block input operations */
long ru_oublock; /* block output operations */
long ru_msgsnd; /* messages sent */
long ru_msgrcv; /* messages received */
long ru_nsignals; /* signals received */
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary context switches */
};
的各个领域,但叉的数量不是可以在这里找到。接下来的想法是将贝壳和小孩分开并寻找叉子。有更简单的方法,更少的开销?是否有一些带有非标准选项/变量/机制的shell来显示分叉数量?
更简单和更少的开销是一个艰难的行锄。你可以尝试插入一个非常简单的叉子计数垫片。可能很快,可能并不比strace简单。 – 2013-02-11 22:27:00