Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

2 Answers 2

up vote 5 down vote accepted

Try

strace -fF -o /tmp/debugfile your_script.pl

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 script.pl
share|improve this answer

Your Answer

 
discard

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.