Hello,
I want to know what executables a script launches and in what order (and trace those executables recursively).
For example, let's say I have a bash script here (called abc.sh):
#!/bin/bash
ls
gcc
I'd like to run this script with a "trace/log command" and get something like this:
abc.sh -- ls
|-- gcc -- cpp
-- cc1
... etc.
This show that abc.sh called ls, and gcc. gcc, in turn, called cpp and cc1.
Is this possible? How can I do it? A tree view like the above would be nice, but a simpler view would work as well.
Note that I do not want the current snapshot of the process tree. Rather, I want a trace or a log of the spawning processes. Timing annotation would also be useful.
Thanks!