The Archives

  • 27.Jan.09
    Tracing system calls shell | fernape | (0)
    $ strace ls Traces all the system calls invoked by the process "ls" Let's say we are in directory dir and we execute ls $ ls file1 file2 And now, let's see what the command actually does: $ strace ls open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|0x80000) = 3 getdents(3, /* 4 entries */, 4096) = 112 write(1, "file1 file2\n", 13file1 file2 ) = 13 It opens the current directory, reads the number of entries (4, this is: our two files, plus "." plus "..") and writes the result using write You should keep in mind that strace traces system ...