我有一个 Perl 脚本,它调用大约 10 个其他 perl 脚本,其中一些调用 Python 脚本。每个脚本都会生成其他程序读取的文件。这相当复杂。
我想要做的是运行它,并让 Linux 报告哪些程序调用了哪些程序,以及每个程序读取并生成了哪些文件?
在 Linux 中可以实现类似的某种跟踪吗?
答案1
尝试
strace -fF -o /tmp/debugfile your_script.pl
进而
grep open /tmp/debugfile
如果这不能捕获所有内容,Linux 内核中的审计子系统可以帮助您。
答案2
$ strace -f -e trace=process,open -o /tmp/script.strace script.pl