1

プロセスまたはプログラムが作成しているさまざまなタイプのシステムコールの数を見つけようとしています。以下のように、各システムコールの呼び出しの総数を取得するために、次のことができることを知っています。

strace -c cat abc.txt

上記の出力はコマンドです。

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
  -nan    0.000000           0        10           read
  -nan    0.000000           0         1           write
  -nan    0.000000           0        12           open
  -nan    0.000000           0        14           close
  -nan    0.000000           0        12           fstat
  -nan    0.000000           0        28           mmap
  -nan    0.000000           0        16           mprotect
  -nan    0.000000           0         3           munmap
  -nan    0.000000           0         3           brk
  -nan    0.000000           0         2           rt_sigaction
  -nan    0.000000           0         1           rt_sigprocmask
  -nan    0.000000           0         2           ioctl
  -nan    0.000000           0         1         1 access
  -nan    0.000000           0         1           execve
  -nan    0.000000           0         1           fcntl
  -nan    0.000000           0         2           getdents
  -nan    0.000000           0         1           getrlimit
  -nan    0.000000           0         1           statfs
  -nan    0.000000           0         1           arch_prctl
  -nan    0.000000           0         2         1 futex
  -nan    0.000000           0         1           set_tid_address
  -nan    0.000000           0         1           set_robust_list
------ ----------- ----------- --------- --------- ----------------
100.00    0.000000                   116         2 total

ご覧のとおり、行われた syscall の総数が返されます116。この場合、いくつの異なるタイプのシステムコールが行われたかを知る必要があるだけです22

を使用して1行でそれを行う方法はありstraceますか?

4

1 に答える 1