aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/ps.c
AgeCommit message (Collapse)Author
2016-06-10HACK: restore Android ps behavior.Elliott Hughes
"NAME" is no longer doing what we want; "TNAME" is what "NAME" used to be, except that "TNAME" implies -T. This patch switches us over to "TNAME", disables the implicit -T. Change-Id: I5553703d3939b24eaf39976162d2f75a591e1ce8
2016-06-08Fix ps bug, last field wasn't expanding to width.Rob Landley
(Still fixing the fallout from that "Don't truncate number fields" logic rewrite.)
2016-06-08Change the TNAME behavior to "Show parent argv[0]. If that's blank, showour ↵Rob Landley
argv[0]. If that's blank, show [stat2]." That way threads show their parents, parents show themselves, and kernel threads show the [stat2] name.
2016-06-04Basic success/failure return from pgrep/pkill.Elliott Hughes
The man page says they also return 2 for syntax errors and 3 for "fatal error: out of memory etc", but I don't know how to implement that and don't need it (or have any reason to believe anyone needs it). Bug: 29092208
2016-06-04ps: Show [stat2] for any otherwise blank process name field, expand TNAME to 27,Rob Landley
use generated constant for stat field parsing loop.
2016-05-27Add -o TNAME for android, fix display of last field (retain left justifificationRob Landley
when trimmed for screen width), make ARGS path trimming logic work with spaces in path.
2016-05-24The "show parent command path" commit changed the criteria for active nodes,Rob Landley
and the collate logic wasn't updated. (Oops.)
2016-05-23Fix remaining pkill tests.Elliott Hughes
I don't know that anyone cares, but these failures made me think I'd broken something while testing the -SIGNAL patch. The -s parsing wasn't taking into account that -s 0 is a special case, and the -o test was assuming that pkill can tell the difference between two processes started at roughly the same time. Hopefully there's higher-resolution data available that can avoid the need for yet another sleep in the tests.
2016-05-23Fix pkill -9.Elliott Hughes
This fixes the existing test. Internal Android bug 28877702. I've left -l as-is, even though the desktop doesn't support that.
2016-05-22Don't truncate number fields for anything but right edge of screen, insteadRob Landley
let them overflow and try to reclaim extra space from later short fields.
2016-05-22Make -o COMMAND show parent command path for threads, and use saved lengthRob Landley
calculations instead of doing strlen() on strings again to store lengths.
2016-05-22Comment and help text tweaks.Rob Landley
2016-05-20Add bufgetgrgid()Rob Landley
2016-05-17Add bufgetpwuid. (Repeated calls to getpwuid() are really expensive.)Rob Landley
2016-05-16Add top -ORob Landley
2016-05-05Add top -H.Elliott Hughes
Also enable the same behavior we have with ps, where adding a thread-related field implies that you're interested in threads. Also clean up the help text slightly --- we're still not including the TOP_COMMON help, but at least when we do, we'll have each option covered with no duplicates.
2016-05-05"top -b -n1" should end with a newline.Elliott Hughes
The use of TT.time to determine whether to use \r or \n is a little odd, but let's stick with that for now. Correct the spelling of millitime and add a test.
2016-05-04Elliott says -T should fetch threads even when not displaying thread fields.Rob Landley
2016-05-04Simplify ps android scheduling policy fetch slightly.Rob Landley
2016-04-30Add a ps "PCY" field for Android scheduling policy.Elliott Hughes
2016-04-29First guess at showing thread names properly.Rob Landley
2016-04-29Show "-" rather 0 if we don't know whether a process is 32- or 64-bit.Elliott Hughes
2016-04-29Fix ps -O help output alignment.Elliott Hughes
2016-04-25ps thread supportand 32/64 bit detection.Rob Landley
Add ps -o BIT,TID,TCNT, and make -T display "PID,TID" for default output types (adding TCNT to -f)
2016-04-16Fix "ssh top".Elliott Hughes
The ps.c change allows us to start. The interestingtimes.c change allows us to clean up properly afterwards if you ^C out (which you usually do). Tested with both ssh and "adb shell" (the latter being where I noticed the problem).
2016-04-16Fix top -b.Elliott Hughes
Batch mode should never output terminal escape sequences, should ignore the keyboard, and should include a gap between datasets.
2016-03-02For years the man pages have said to #include <sys/types.h> to getRob Landley
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.
2016-02-29Fix trailing spaces on ps -o cmdline.Elliott Hughes
2016-01-28Add SIGWINCH support to top, and implement -o and -n in pgrep/pkill.Rob Landley
2016-01-28Adding -M broke ps -k header printing without -M.Rob Landley
2016-01-27Don't resort or recalculate headers for cursor up/down, do PGUP PGDN, andRob Landley
down move way down past end of list.
2016-01-27Add cpu line to top, and fix a bug initializing upticks slot.Rob Landley
2016-01-27Don't try to be fancy with top headers, just hardwired the standardish ones.Rob Landley
Still need to do the cpu(s) line in top.
2016-01-26Add ps -M to measure/expand field widths if they don't fit.Rob Landley
(Still truncates at the right edge to fit terminal width, but last commit made -w the default when no terminal width detected.)
2016-01-26Add ps -O (inserts extra args before last field), and make -w the defaultRob Landley
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).
2016-01-25Next lump of top work. Add -o DISPLAY_FIELDS -k FALLBACK_SORTS -s SORT_BY plusRob Landley
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.
2016-01-21Replace slot[] constants with SLOT_blah, fix some that weren't displaying right.Rob Landley
Make fallback sort do string sort after numeric tie, retain absolute uptime even though relative is needed for %CPU (hence utime2).
2016-01-20Correct units of %MEM and %VSZ.Rob Landley
2016-01-20Add basic top support to ps.c, delete toys/pending/top.c.Rob Landley
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.
2016-01-18Implement pgrep -clv (and remove some accidentally checked in debug code).Rob Landley
Still need to do -n and -o.
2016-01-18Implement basic pkill plumbing, and fix FORCE_FLAGS on flag context switch.Rob Landley
2016-01-17Extend utf8 fontmetrics so ps can use them.Rob Landley
Also, I forgot to check in uuid_show() last time.
2016-01-14Implement most of pgrep and pkill.Rob Landley
Needs testing and a few more options connected up.
2016-01-10Make cursor left/right change sort type in iotop.Rob Landley
2016-01-01First pass at iotop.Rob Landley
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...
2015-12-30First half of iotop. Add READ, WRITE, IO, DREAD, DWRITE, SWAP, DIO, andRob Landley
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.
2015-12-29Move comma_args() from ps.c to lib.Rob Landley
(Moved header a while ago, forgot to check in function move.)
2015-12-21Add ps -o psr,rtprio,sched.Elliott Hughes
These three are currently available in Android's ps but not in toybox ps.
2015-12-18Next giant chunk of ps work: add _NAME_TAG bitmask values to tags.hRob Landley
(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.
2015-12-12Make "ps -o TIME+ -k TIME+" work. Factor out -o field names, field lengths,Rob Landley
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.