The following is an example of the statsnoop tool. statsnoop is a companion to opensnoop, which traces a variety of stat() calls rather than open() calls. Here I run statsnoop on my idle laptop for about 3 seconds, # statsnoop UID PID COMM FD PATH 0 1485 dtrace 0 /devices/pseudo/pts@0:6 100 791 dtwm -1 /usr/mail/brendan 100 791 dtwm -1 /usr/mail/brendan 100 791 dtwm -1 /usr/mail/brendan 100 791 dtwm -1 /usr/mail/brendan 100 795 sdtperfmeter 0 /devices/pseudo/mm@0:null 0 803 rpc.rstatd 0 /devices/pseudo/udp@0:udp 0 803 rpc.rstatd 0 /devices/pseudo/udp@0:udp 100 795 sdtperfmeter 0 /devices/pseudo/mm@0:null 100 791 dtwm 0 /export/home/brendan/.dt/Trash/.trashinfo 100 791 dtwm 0 /export/home/brendan/.dt/Trash/.trashinfo 100 791 dtwm 0 /devices/pseudo/mm@0:null 100 783 ttsession 0 /devices/pseudo/pts@0:3 100 783 ttsession 0 /devices/pseudo/pts@0:3 100 783 ttsession 0 /devices/pseudo/pts@0:3 100 791 dtwm 0 /devices/pseudo/mm@0:null 100 783 ttsession 0 /devices/pseudo/pts@0:3 100 783 ttsession 0 /devices/pseudo/pts@0:3 100 791 dtwm 0 /devices/pseudo/mm@0:null 100 791 dtwm 0 /devices/pseudo/mm@0:null 100 792 dtfile 0 /devices/pseudo/mm@0:null 100 783 ttsession 0 /devices/pseudo/pts@0:3 ^C It is interesting what turns up. In the above output, a "dtwm" process with process ID 791 called stat on /usr/mail/brendan and received -1 as a return value - as this file does not exist. (when were mailboxes ever stored in /usr/mail??). statsnoop has a variety of options, as opensnoop does. Here I trace stat()s from processes called "bash", while a new bash shell is executed, # statsnoop -n bash UID PID COMM FD PATH 100 1493 bash 0 /usr/bin/bash 100 1493 bash 0 /devices/pseudo/pts@0:8 100 1493 bash 0 /lib/libcurses.so.1 100 1493 bash 0 /lib/libsocket.so.1 100 1493 bash 0 /lib/libnsl.so.1 100 1493 bash 0 /lib/libdl.so.1 100 1493 bash 0 /lib/libc.so.1 100 1493 bash 0 /devices/pseudo/pts@0:8 100 1493 bash 0 /devices/pseudo/pts@0:8 100 1493 bash 0 /export/home/brendan 100 1493 bash 0 . 100 1493 bash 0 /export/home/brendan/.bashrc 100 1493 bash -1 /usr/mail/brendan 100 1493 bash 0 /export/home/brendan/.bash_history 100 1493 bash 0 /export/home/brendan/.bash_history 100 1493 bash 0 /export/home/brendan/.bash_history 100 1493 bash -1 /export/home/brendan/.inputrc 100 1493 bash 0 . ^C bash also checked /usr/mail/brendan? hmm... $ echo $MAIL /usr/mail/brendan hmmmmm... $ cat .profile # This is the default standard profile provided to a user. # They are expected to edit it to meet their own needs. MAIL=/usr/mail/${LOGNAME:?} huh? $ cat /etc/skel/.profile # This is the default standard profile provided to a user. # They are expected to edit it to meet their own needs. MAIL=/usr/mail/${LOGNAME:?} $ cat /var/sadm/pkg/SUNWcsr/save/pspool/SUNWcsr/reloc/etc/skel/.profile # This is the default standard profile provided to a user. # They are expected to edit it to meet their own needs. MAIL=/usr/mail/${LOGNAME:?} oh. |