Re: exit status issue

2011-11-18 Thread Geir Hauge
2011/11/17 Dallas Clement > > Would appreciate any insight you could offer. Here is my script and > the strace output for when touch returns 1. > Add ''set -x'' at the start of the function and examine the output to see if it actually runs touch from PATH. -- Geir Hauge

Re: exit status issue

2011-11-18 Thread Dallas Clement
On Fri, Nov 18, 2011 at 6:16 AM, Geir Hauge wrote: > Add ''set -x'' at the start of the function and examine the output to see if > it actually runs touch from PATH. The strace output is showing that the correct 'touch' is being executed. [pid 6747] execve("/bin/touch", ["touch", "/mnt/array1/.

Re: exit status issue

2011-11-18 Thread Bob Proulx
Dallas Clement wrote: > Geir Hauge wrote: > > Add ''set -x'' at the start of the function and examine the output > > to see if it actually runs touch from PATH. > > The strace output is showing that the correct 'touch' is being executed. It would be a lot easier to use the 'sh -x' trace than usin

Re: exit status issue

2011-11-18 Thread Greg Wooledge
On Fri, Nov 18, 2011 at 01:49:38PM -0600, Dallas Clement wrote: > [pid 6747] execve("/bin/touch", ["touch", "/mnt/array1/.accesstest"], > [/* 14 vars */]) = 0 > Process 6748 attached > Process 13686 suspended > [pid 6748] execve("/usr/bin/logger", ["logger", "-s", "-t", > "diskmon", "-p", "local0

Re: exit status issue

2011-11-18 Thread DJ Mills
On Fri, Nov 18, 2011 at 2:59 PM, Bob Proulx wrote: > Dallas Clement wrote: >> Geir Hauge wrote: >> > Add ''set -x'' at the start of the function and examine the output >> > to see if it actually runs touch from PATH. >> >> The strace output is showing that the correct 'touch' is being executed. >

Re: exit status issue

2011-11-18 Thread Dallas Clement
On Fri, Nov 18, 2011 at 2:07 PM, Greg Wooledge wrote: >> Notice that the child process pid=6747 exits with status 0 > > Where does it say that?  How are you even invoking strace here?  I don't > know how to read this output, nor do I know how to reproduce it. [pid 6747] execve("/bin/touch", ["to

Re: exit status issue

2011-11-18 Thread Bob Proulx
DJ Mills wrote: > Bob Proulx wrote: > > sh -x ./scripttodebug > > I'm guessing you mean bash -x, not sh -x. Two different shells. It is a bash list so I probably should have said bash just to be politically correct. But the script doesn't use any bash specific constructs so sh should be fine.

Re: exit status issue

2011-11-18 Thread Greg Wooledge
On Fri, Nov 18, 2011 at 02:23:54PM -0600, Dallas Clement wrote: > [pid 6747] execve("/bin/touch", ["touch", "/mnt/array1/.accesstest"], > [/* 14 vars */]) = 0 > > The = 0 at the end is the exit status. That is the return value of the execve() call. All it means is that the /bin/touch program wa

Re: exit status issue

2011-11-18 Thread Andreas Schwab
Dallas Clement writes: > [pid 6747] execve("/bin/touch", ["touch", "/mnt/array1/.accesstest"], > [/* 14 vars */]) = 0 > > The = 0 at the end is the exit status. No, it isn't. It only says that execve was successful. The exit status is set by the exit syscall. Andreas. -- Andreas Schwab, sc

Re: exit status issue

2011-11-18 Thread Dallas Clement
On Fri, Nov 18, 2011 at 2:35 PM, Greg Wooledge wrote: > On Fri, Nov 18, 2011 at 02:23:54PM -0600, Dallas Clement wrote: >> [pid  6747] execve("/bin/touch", ["touch", "/mnt/array1/.accesstest"], >> [/* 14 vars */]) = 0 >> >> The = 0 at the end is the exit status. > > That is the return value of the