如果我想知道任何linux命令的内部工作,那么我将从哪里获得有关它的信息?其实我想知道aplay
命令的内部工作。通过执行aplay
命令在Linux内核中发生了什么进程?
答案 0 :(得分:2)
Linux中的命令是用户级别的。因此,当我们从用户级执行命令时,它将与内核层交互。这种交互是通过系统调用完成的。
要获取内部正在执行的系统调用,可以使用用户空间实用程序“strace”。 strace将给出系统跟踪。 以下命令可以使用:
$script
$strace <command> <argument>
$exit
脚本实用程序在当前工作目录中创建一个名为“typescript”的文件,其中包含strace的输出。
现在从strace中你将得到你的命令正在执行的所有系统调用。现在您需要内核源来实际跟踪内核中正在进行的内部处理。
您还可以使用systemtap和kgdb linux实用程序。