truss issue
Don Lewis
truckman at FreeBSD.org
Mon Dec 15 17:09:17 PST 2003
On 15 Dec, Martin Cracauer wrote:
> Don Lewis wrote on Mon, Dec 15, 2003 at 01:28:50PM -0800:
>> If you type "truss foo" at the shell prompt, the shell will fork and
>> exec truss, which forks and execs foo. When truss forks, the child
>> process is the one that execs foo, and the parent process watches what
>> the child process does. My suggestion is to swap the roles of the
>> parent and child truss processes. The parent truss process would be the
>> one that calls exec(), and the child process would be the one doing the
>> monitoring. When the process being traced exits, the shell would
>> automagically get the correct exit status.
>
> Ah, OK.
>
> That would also have the advantage that the pid that the fork() in the
> starting process gets will continue to stay correct for the child it
> expects.
>
> E.g.
> truss foo &
> pid=$!
> dosomethingwith $pid
Like "kill -9"
> pid will point to the actual process and not foo, so you can safely
> insert a truss prefix where you want.
I hadn't thought about it, but this is another advantage.
More information about the freebsd-current
mailing list