Age | Commit message (Collapse) | Author |
|
major/minor/makedev, but glibc has vowed to break existing programs
(https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html)
and replace it with _another_ non-standard header (not in posix or lsb),
so let's just add functions to lib/ that do the transform ourselves.
|
|
|
|
|
|
|
|
down move way down past end of list.
|
|
|
|
Still need to do the cpu(s) line in top.
|
|
(Still truncates at the right edge to fit terminal width, but last commit
made -w the default when no terminal width detected.)
|
|
when we haven't got a terminal width. Replace top CMDLINE with ARGS.
More ps infrastructure genericization: parse reverse unconditionally.
Break out get_headers() with global references moved to caller.
change quick_ko() to default_ko() (dlist_terminate is now caller's job).
|
|
the start of -h HEADER (mostly parses text, but doesn't display %ESCAPES yet).
Added UP, DOWN, and R keys.
Made only iotop STAYROOT (not top), added comment explaining why.
Bumped iotop's historical -O and -K to capital letters.
Added quick_ko() to add argument list from string instead of arg_list.
|
|
Make fallback sort do string sort after numeric tie, retain absolute uptime
even though relative is needed for %CPU (hence utime2).
|
|
|
|
While I'm there, pack the ps help text, break out TOP_COMMON (todo: update
config2help to collate that properly), add -o CPU showing which processor
this pid is running on, implement -o C (it's %cpu without the fractional
part), add -o %MEM, fix header padding.
|
|
Still need to do -n and -o.
|
|
|
|
Also, I forgot to check in uuid_show() last time.
|
|
Needs testing and a few more options connected up.
|
|
|
|
Lotsa TODOs: Currently exit it with ctrl-c, not q.
Doesn't show totals, PID instead ofTID, PR instead of PRIO (type/pri),
human_readable can't display fixed point, IO isn't a percentage,
COMM instead of COMMAND (so no [kernelthread] brackets), and no
cursor left/right to change sort field...
|
|
corresponding percentile fields to ps. Move FLAG_ macro usage to ps-specific
code (top/iotop have their own flag contexts). Split init and match code
into shared and ps-specific parts. Fix bug in COMMAND for privileged processes.
|
|
(Moved header a while ago, forgot to check in function move.)
|
|
These three are currently available in Android's ps but not in toybox ps.
|
|
(leading underscore version is 1<<NAME_TAG version, with 1LL for >31 shift),
suck lots of magic constants out of ps and use tag macros instead,
redo command line display so there's now 6 variants (CMD COMM ARGS from posix,
NAME CMDLINE from android, and COMMAND for completeness). Document more
cases where posix is nuts or widely ignored.
|
|
and slot numers into a structure. (Keeping multiple arrays in sync may have
been efficient but it was ugly.) Fix duplicate command name copying that
corrupted the name of kernel threads. Tighten up slot[] docs.
|
|
move slot[] documentation into C code, add PR %VSZ VIRT RES SHR
|
|
|
|
|
|
|
|
instead of carving up toybuf by hand. This makes breaking out the field
conversion logic into its own function less expensive.
|
|
Change readfileat() to pass back length of read.
|
|
functions to read major()/minor(), fix printf format warnings in error msg.
|
|
|
|
|
|
Both Android and GNU interpret -n to mean "show numeric users and groups",
despite what POSIX says.
|
|
This is equivalent to Android's historical "NAME" column, showing the
first element of /proc/pid/cmdline.
|
|
(The help infrastructure can collate and alphebetize short options,
long options haven't got a standardized help text format. Not a hard
requirement to have a short opt, but it's nice.)
|
|
"comm" is the command name without arguments, and "cmd" the command
line including arguments. Confusingly, "command" is a synonym for
the *latter*, not the former.
This implementation of "comm" matches the GNU ps behavior where the
names are truncated, but Android historically used the full name
from /proc/pid/cmdline instead, so this patch isn't sufficient to
let us match the Android behavior.
|
|
I actually thought ps was segfaulting, and it wasn't until I was in gdb
that I even noticed there was an error message at all, and even then I
had to read the source to work out what it was trying to tell me.
Before:
$ ps -o user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd
ps: -o 'user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd'@41
USER PID PPID VSZ RSS NI WCHAN ADDR$
After:
$ ps -o user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd
ps: bad -o field 'user,pid,ppid,vsize,rss,nice,wchan,addr,unknown,stat,cmd'
^
|
|
As with ls, it doesn't seem like -Z should be guarded behind LSM
availability. On a non-SELinux system, the label is always "unconfined".
|
|
Used by Android.
|
|
|