本小节我们编写一个简单的探针,用于打印出指定进程在运行时调用的syscall.
systemtap脚本中获取命令行变量: $n (数字型) @n (字符串)
我们编写一个简单的脚本, 文件名为sysc.stp
probe begin() {printf("Start...\n");}probe syscall.* {if(execname() == @1) // @1代表命令行的第1个参数, 如果参数时pid或者线程id,要用$1{printf("%s\n", pp());}}
这个探针脚本的使用方式:
stap sysc.stp mysqld
