我想知道脚本启动了哪些可执行文件以及以什么顺序启动(并递归地跟踪这些可执行文件)。
例如,假设我在这里有一个 bash 脚本(称为 abc.sh):
#!/bin/bash
ls
gcc
我想用“trace/log command”运行这个脚本并得到这样的东西:
abc.sh -- ls
|-- gcc -- cpp
-- cc1
... etc.
这表明 abc.sh 调用了 ls 和 gcc。gcc 反过来又称为 cpp 和 cc1。
这可能吗?我该怎么做?像上面这样的树视图会很好,但更简单的视图也可以。
请注意,我不想要进程树的当前快照。相反,我想要生成过程的跟踪或日志。时间注释也很有用。
谢谢!