146 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -------------------------- general ------------------------
 | |
| 
 | |
| Consider using glibc obstacks for memory allocation.
 | |
| 
 | |
| Implement /usr/proc/bin tools like Solaris has.
 | |
| The prstat command is interesting, like top in batch mode.
 | |
| SCO has a pstat command.
 | |
| 
 | |
| Don't these really belong in the procps-ng package?
 | |
|          killall pstree fuser lsof who
 | |
| (they are maintained elsewhere, which causes version problems)
 | |
| 
 | |
| OpenBSD has a pfind command.
 | |
| 
 | |
| Cache results of dev_to_tty.
 | |
| 
 | |
| ---------------------- kernel -------------------------
 | |
| 
 | |
| Add an "adopted child" flag to mark processes that are not
 | |
| natural children of init. This can make --forest work better.
 | |
| 
 | |
| Supply better data for top's CPU state display. Currently top has
 | |
| to subtract old numbers from new numbers and divide that result by
 | |
| the number of processors. The kernel won't even supply the number
 | |
| of processors in a portable way.
 | |
| 
 | |
| Supply data for the ADDR and JOBC fields.
 | |
| 
 | |
| Support & supply data for SL and RE.
 | |
| 
 | |
| Add a /proc/*/tty symlink to eliminate guessing when /proc/*/fd is
 | |
| not accessable.
 | |
| 
 | |
| Add /proc/*/.bindata files to avoid string parsing. It should be an array
 | |
| of 64-bit values on all machines. New entries go on the end and obsolete
 | |
| ones get filled in with something logical -- entries must never be deleted!
 | |
| 
 | |
| Add all the stuff Solaris has. This would also replace ptrace.
 | |
| 
 | |
| ---------------------- watch --------------------------
 | |
| 
 | |
| Tolerate VT100 line-drawing characters. Maybe translate them.
 | |
| 
 | |
| ---------------------- w --------------------------
 | |
| 
 | |
| The LOGIN@ column sometimes has a space in it. This makes correct
 | |
| scripting difficult.
 | |
| 
 | |
| Time formats are demented.
 | |
| 
 | |
| ---------------------- vmstat --------------------------
 | |
| 
 | |
| Extract /proc/diskstats parsing from vmstat into libproc somewhere.
 | |
| 
 | |
| --------------------- libproc ----------------------
 | |
| 
 | |
| Stop storing fields with duplicate info (often different
 | |
| units: kB and pages, seconds and jiffies) in the proc_t struct.
 | |
| 
 | |
| Use own readdir code (assembly language) because glibc sucks ass.
 | |
| 
 | |
| ---------------------- top -------------------------
 | |
| 
 | |
| Share more stuff with ps.
 | |
| 
 | |
| don't truncate long usernames
 | |
| 
 | |
| have a --config option
 | |
| 
 | |
| ---------------- ps for now, maybe move to libproc ------------------
 | |
| 
 | |
| With forest output and a tty named /dev/this_is_my_tty, the position
 | |
| of the command name gets messed up. (we print too many spaces) (fixed?)
 | |
| 
 | |
| Fix missing stuff for these formats: FB_j FB_l FB_v HP_f HP_l HP_fl JFMT OL_m
 | |
| (jobc,cpu,sl,re,cpu,prmgrp,m_swap,m_share,vm_lib,m_dt)
 | |
| Note that "cpu" has two meanings.
 | |
| 
 | |
| Add Beowulf support. This is ugly, since the current patches use a
 | |
| daemon to collect info and add a HOST field after the PID field.
 | |
| 
 | |
| Query optimizer, put cheap/required process selection first.
 | |
| 
 | |
| Avoid reading both /proc/*/status and /proc/*/stat.
 | |
| 
 | |
| Support printing the client hostname (the FROM that w(1) uses) in place
 | |
| of a pty.
 | |
| 
 | |
| Disambiguate narrow tty info. (/dev/tty7 == /dev/pts/7 now)
 | |
| 1------8     1--4
 | |
| ttyS2        S2
 | |
| ttyI31       I31
 | |
| pts/7        7        Short form could be /999.
 | |
| pts/9999     9999     Short form could just be trunctuated to /999.
 | |
| tty7         7        Short form could be vc-7.
 | |
| tty63        63       Short form could be vc63.
 | |
| 
 | |
| Internationalization, as specified by XPG3, Volume 1, Commands and Utilities.
 | |
| (and suggested by Unix98) LC_TIME affects date format.
 | |
| 
 | |
| ----------------------- ps -----------------------
 | |
| 
 | |
| Add an option to select all processes that a user can kill.
 | |
| (related to RUID, EUID, tty, etc. -- but maybe ignore root power)
 | |
| 
 | |
| Add a nice display option for killing things.
 | |
| ruser,euser,ppid,pid,pmem,stime,args
 | |
| 
 | |
| For RT stuff:
 | |
| pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
 | |
| 
 | |
| For job control:
 | |
| stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
 | |
| 
 | |
| Make the column alignment algorithm support this:
 | |
|     FOO BAR
 | |
|     8 44444
 | |
|     453  45
 | |
|     45 2989
 | |
|     63666 0
 | |
|     34  333
 | |
| (useful for the UNIX tty and time values, since the time might look
 | |
| like 100-10:40:32 for old processes and the tty might have extra room)
 | |
| 
 | |
| Improve long sort/format specifiers documentation and fill in the missing
 | |
| code as much as the kernel can support. Make sure that memory amounts are in
 | |
| pages when they should be and in kB when they should be, not backwards.
 | |
| 
 | |
| output encoding: UTF8 --nul --null
 | |
| 
 | |
| Make BSD formats use non-standard BSD time format, at least when it
 | |
| doesn't violate the "no whitespace" rule.
 | |
| 
 | |
| Better unmangling of '?' as a tty. The shell destroys '?' when there
 | |
| is a filename that matches. If the argument seems like garbage,
 | |
| check for a file that might have screwed up the '?'.
 | |
| 
 | |
| If the 'O' option is given something already implied by 'O',
 | |
| assume the user wanted a sorting option.
 | |
| 
 | |
| Conflict:
 | |
| Digital THREAD is user,pcpu,pri,scnt,wchan,usertime,systime
 | |
| AIX     THREAD is uname,pid,ppid,tid,S,C,PRI,scount,WCHAN,F,tty,bnd,comm
 | |
| AIX looks like this:
 | |
|          USER   PID  PPID  TID S  C PRI SC   WCHAN   FLAG   TTY BND  CMD
 |