Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a Perl script that calls about 10 other perl scripts some of which call Python scripts. Each of those produce files which the other programs read. It's pretty complex.

What I would like to do is run it, and have Linux report which programs called which programs, and which files each program read in, and produced?

Is some kind of trace like that possible in Linux?

share|improve this question
up vote 5 down vote accepted


strace -fF -o /tmp/debugfile

And then

grep open /tmp/debugfile

If that does not catch everything, audit subsystem in Linux kernel could help you.

share|improve this answer
Cool beans. I used quanta's syntax below. It seems to be working. Do you know of any tools to parse the output into something more readable? – Greg_the_Ant Oct 25 '11 at 14:59
$ strace -f -e trace=process,open -o /tmp/script.strace
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.