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.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
2. UNIX for Advanced & Expert Users
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
3. Solaris
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
4. UNIX for Advanced & Expert Users
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
5. Shell Programming and Scripting
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
6. UNIX for Advanced & Expert Users
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
7. UNIX for Advanced & Expert Users
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
8. Android
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
9. Ubuntu
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
10. Red Hat
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
LEARN ABOUT DEBIAN
sql::translator::schema::procedure
SQL::Translator::Schema::Procedure(3pm) User Contributed Perl Documentation SQL::Translator::Schema::Procedure(3pm)
NAME
SQL::Translator::Schema::Procedure - SQL::Translator procedure object
SYNOPSIS
use SQL::Translator::Schema::Procedure;
my $procedure = SQL::Translator::Schema::Procedure->new(
name => 'foo',
sql => 'CREATE PROC foo AS SELECT * FROM bar',
parameters => 'foo,bar',
owner => 'nomar',
comments => 'blah blah blah',
schema => $schema,
);
DESCRIPTION
"SQL::Translator::Schema::Procedure" is a class for dealing with stored procedures (and possibly other pieces of nameable SQL code?).
METHODS
new
Object constructor.
my $schema = SQL::Translator::Schema::Procedure->new;
parameters
Gets and set the parameters of the stored procedure.
$procedure->parameters('id');
$procedure->parameters('id', 'name');
$procedure->parameters( 'id, name' );
$procedure->parameters( [ 'id', 'name' ] );
$procedure->parameters( qw[ id name ] );
my @parameters = $procedure->parameters;
name
Get or set the procedure's name.
$procedure->name('foo');
my $name = $procedure->name;
sql
Get or set the procedure's SQL.
$procedure->sql('select * from foo');
my $sql = $procedure->sql;
order
Get or set the order of the procedure.
$procedure->order( 3 );
my $order = $procedure->order;
owner
Get or set the owner of the procedure.
$procedure->owner('nomar');
my $sql = $procedure->owner;
comments
Get or set the comments on a procedure.
$procedure->comments('foo');
$procedure->comments('bar');
print join( ', ', $procedure->comments ); # prints "foo, bar"
schema
Get or set the procedures's schema object.
$procedure->schema( $schema );
my $schema = $procedure->schema;
equals
Determines if this procedure is the same as another
my $isIdentical = $procedure1->equals( $procedure2 );
AUTHORS
Ken Youens-Clark <kclark@cshl.org>, Paul Harrington <Paul-Harrington@deshaw.com>.
perl v5.14.2 2012-01-18 SQL::Translator::Schema::Procedure(3pm)