help running strace


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users help running strace
Prev   Next
# 1  
Old 09-21-2006
help running strace

OK so I wanted to know how does grep outputs to the pipe and how sort reads from it. So I run a strace over "grep blah myfile | sort" and this is what I got:

open("myfile", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0600, st_size=84, ...}) = 0
read(3, "blah blah and blah cause of blah"..., 32768) = 84
fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000
read(3, "", 32768) = 0
close(3) = 0
write(1, "blah blah and blah cause of blah"..., 85) = 85
close(1) = 0
munmap(0xb7fe8000, 4096) = 0
exit_group(0) = ?
Process 14533 detached
blah blah and blah cause of blah
find blah myfile blah grep it.
this is my blah file

I know that grep nor sort are aware of the pipe, they just input/output to the stdin/stdout... the pipe just connect them, that's how pipes works as far as I know... but what I don't see in this code is how grep is outputing to the pipe (stdout) and how is sort reading from the pipe (stdin). Is there anyway to check that relation? All I can tell from the code I bolded is:

MyFile -> Grep --------------------------> stdout

Unless "read(3, "", 32768)" has anything to do with the sort process.
Thanks in advance.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Strace rpm requirement for RHEL 5.9

I have requirement for strace utility rpm package for RHEL 5.9. I have made a google for last 1 hr. but did not find the required one. Can any one help me out to find out the compatible rpm package of strace for Redhat 5.9 version (I require 64 bit version). (7 Replies)
Discussion started by: Anjan Ganguly
7 Replies

2. Ubuntu

Running strace command

I want to run the strace -p xxxx -o in a script to monitor a process that hangs sometimes and requires a restart, my question is if strace is constantly running in the background will it chew up system resources and cause the system slowness? (3 Replies)
Discussion started by: wereyou
3 Replies

3. Android

Strace help

I need to run and monitor applications on Android Emulator. I am using the strace utility to monitor system calls. Everytime to start strace i need to manually start the application , get the process Id of the application and then give it to strace to start logging all the system calls. So is... (20 Replies)
Discussion started by: far001han
20 Replies

4. UNIX for Advanced & Expert Users

Need help on strace output

Hi All, Good day, need some help on strace result. We're encountering oracle Database server connection slowness (using sqlplus login to db server, there have 1 or 2 secs delay) we had generated strace and provide to oracle to investigate, and they told us it look like OS problem (Our OS is Red... (4 Replies)
Discussion started by: klng
4 Replies

5. UNIX for Advanced & Expert Users

strace

Hi, does anyone know the equivalent command of the following in AIX : $ strace -tp 15033 Process 15033 attached - interrupt to quit 11:28:06 gettimeofday({1257766086, 104118}, NULL) = 0 11:28:06 getrusage(RUSAGE_SELF, {ru_utime={2270, 615813}, ru_stime={0, 634903}, ...}) = 0 Thank you (6 Replies)
Discussion started by: big123456
6 Replies

6. Shell Programming and Scripting

Running Total Running Wild

Hi. A shell scripting newbie here. I am trying to write a script that will create a running total of Sales, and increment a counter for each Sales entry, but when I executed the program it never stopped. counter=0 Sales=0 echo "enter sales price" read sales while do let counter=counter+1... (6 Replies)
Discussion started by: Ccccc
6 Replies

7. UNIX for Advanced & Expert Users

ioctl : strace

Hi All, int ioctl(int d, int request, ...); Can somebody tell me how does ioctl decides the input parameter: "request". Sometimes, its SNDCTL_TMR_TIMEBASE or TCGETS or FIONREAD...etc. What is the pattern?? I am asking this coz my strace returns this: ... (1 Reply)
Discussion started by: angad.makkar
1 Replies

8. Solaris

Running from Shell Vs running from RC script

Hi, i have a script which need to do behave differently when run as a startup process from init.d/ rc2.d script and when run manually from shell. How do i distinguish whether my script is run by init process or by shell?? Will the command /proc/$$/psinfo | grep "myscript" work well???... (2 Replies)
Discussion started by: vickylife
2 Replies

9. UNIX for Advanced & Expert Users

strace

Hi Gurus, I need to trace a sqlplus session using strace. Can someone please provide me the syntax. sorry was not able to figure out by reading the man page. :-( i tried to do as below but getting the error xt33db006/u1/app/oracle/product/10.2.0/asm_1$ strace -f sqlplus '/as sysdba'... (0 Replies)
Discussion started by: p4cldba
0 Replies

10. UNIX for Advanced & Expert Users

How to prevent job1 from running while job2 is running..

Hi, Please I need your expert advise on how to prevent/lock from execution job1 while job2 is still running in Unix... THanks:) (3 Replies)
Discussion started by: tikang
3 Replies
Login or Register to Ask a Question
STRACE-LOG-MERGE(1)					      General Commands Manual					       STRACE-LOG-MERGE(1)

NAME
strace-log-merge - merge strace -ff -tt output SYNOPSIS
strace-log-merge STRACE_LOG strace-log-merge --help DESCRIPTION
strace-log-merge merges the output of strace -ff -tt[t] command, prepending PID to each line and sorting the result using time stamp as a key. OPTIONS
--help Show program usage and exit. STRACE_LOG Output file name prefix of files produced by a strace -ff -tt[t] command. EXIT STATUS
0 Success Non-zero Error occurred: either no argument specified (in that case a usage is printed), or something went wrong during the processing of STRACE_LOG.* files. USAGE EXAMPLE
$ strace -o sleepy -ff -tt -e trace=execve,nanosleep sh -c 'sleep 0.1 & sleep 0.2 & sleep 0.3' $ strace-log-merge sleepy | fold -w 72 -s 13475 21:13:52.040837 execve("/bin/sh", ["sh", "-c", "sleep 0.1 & sleep 0.2 & sleep 0."...], 0x7ffde54b2450 /* 33 vars */) = 0 13478 21:13:52.044050 execve("/bin/sleep", ["sleep", "0.3"], 0x5631be4f87a8 /* 33 vars */) = 0 13476 21:13:52.044269 execve("/bin/sleep", ["sleep", "0.1"], 0x5631be4f87a8 /* 33 vars */) = 0 13477 21:13:52.044389 execve("/bin/sleep", ["sleep", "0.2"], 0x5631be4f87a8 /* 33 vars */) = 0 13478 21:13:52.046207 nanosleep({tv_sec=0, tv_nsec=300000000}, NULL) = 0 13476 21:13:52.046303 nanosleep({tv_sec=0, tv_nsec=100000000}, NULL) = 0 13477 21:13:52.046318 nanosleep({tv_sec=0, tv_nsec=200000000}, NULL) = 0 13476 21:13:52.146852 +++ exited with 0 +++ 13475 21:13:52.146942 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13476, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13477 21:13:52.247782 +++ exited with 0 +++ 13475 21:13:52.247885 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13477, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13478 21:13:52.347680 +++ exited with 0 +++ 13475 21:13:52.347786 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=13478, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- 13475 21:13:52.348069 +++ exited with 0 +++ NOTES
strace-log-merge does not work well with strace logs generated by strace -tt invocation that pass midnight, as those lack the information required for the proper sorting. Employing the -ttt option in the respective strace invocation should solve the problem. BUGS
strace-log-merge does not perform any checks whether the files specified are in the correct format and implies that only files from a sin- gle strace session match STRACE_LOG.* glob pattern. HISTORY
The initial version of strace-log-merge was written by Denys Vlasenko in 2012. REPORTING BUGS
Problems with strace-log-merge should be reported to the strace mailing list at <strace-devel@lists.sourceforge.net>. SEE ALSO
strace(1) strace UNKNOWN 2018-04-11 STRACE-LOG-MERGE(1)