[Toybox] Simplifying (was Re: top -H segfault)

Rob Landley rob at landley.net
Wed Jun 8 18:37:28 PDT 2016


On 06/06/2016 05:33 PM, enh wrote:
> On Mon, Jun 6, 2016 at 12:41 PM, Rob Landley <rob at landley.net> wrote:
>> Too much chatter, let me simplify. (Patch inlined below.)
>>> I checked in a thing,
>>
>> Let me know if that (in current git) is now displaying what you want.
> 
> that gives me enough to replace toolbox top.

Is the patch below better behavior than this, or is this good enough?

> an example that should be unwrapped enough to be legible:
> 
> $ adb shell toybox top -b -n 1 -H -s 6 -o pid,tid,tname,comm | grep adbd
>   PID   TID TNAME                      [COMM]
>   190   192 adbd                        usb ffs open
>   190  2585 adbd                        shell srvc 40
>   190   190 adbd                        adbd
>   190   194 adbd                        <-transport
>   190   193 adbd                        ->transport
> 
> as you can see, TNAME is the process name and COMM is the thread name.
> (this is true of how any Linux libc implements thread names.)

TNAME is argv[0] of $PID, COMM is stat[2]

I'm guessing you _do_ want the below patch...? Maybe?

> but, yeah, since "NAME" is a non-standard extension added for Android
> compatibility anyway, NAME makes sense too :-)

And rename to NAME. Ok...?

>>>>  1939  1939 root     20   0  0.0 S      0     0  fg
>>>>          kworker/0:3
>>>
>>> You're showing me what it _is_ doing, not what you want. Let me try to
>>> guess what you want.
>>>
>>> In this case pid==tid, so... you want TNAME to show argv[0] of the
>>> current process in that case? Maybe?
>>>
>>> Something like the attached patch, maybe?
>>
>> Here is the patch making a second guess at what you want. It's on
>> top of current git (the above "is this what you want"), and changes
>> the TNAME behavior to "Show parent argv[0]. If that's blank, show
>> our argv[0]. If that's blank, show [stat2]."
>>
>> That way threads show their parents, parents show themselves, and
>> kernel threads show the [stat2] name. Is this what you want?
> 
> yeah, as far as i can tell this is right.

Ok, I'll apply it then.

Rob


More information about the Toybox mailing list