Page 4 of 4

Posted: Wed 01 Aug 2012, 09:23
by zigbert
Version 2.3.2
See main post

Changelog
- Adjust gettext to work with updated MoManager (thanks to BarryK)

Posted: Wed 08 May 2013, 13:06
by technosaurus
I was playing around with awk to learn how to store associative arrays and ended up coming up with a way to replace ps that is almost as fast but with better configurability option ... so in case it is useful:

Code: Select all

#usage: my_ps [Options]
#Options
#Name:State:Tgid:Pid:PPid:TracerPid:Uid:Gid:FDSize:Groups:VmPeak:VmSize:VmLck:VmPin:VmHWM:VmRSS:VmData:VmStk:VmExe:VmLib:
#VmPTE:VmSwap:Threads:SigQ:SigPnd:ShdPnd:SigBlk:SigIgn:SigCgt:CapInh:CapPrm:CapEff:CapBnd:Seccomp:Cpus_allowed:
#Cpus_allowed_list:voluntary_ctxt_switches:nonvoluntary_ctxt_switches
my_ps(){
echo $@ | awk 'BEGIN{FN=0}
	FNR==1{FN++}
	FN==1{
		argc=NF
		for(j=0;j<NF;j++){
			argv[j]=$(j+1)
			field[FN][$(j+1)]=$(j+1)
		}
	}
	FN>1{
		title=substr($1,0,length($1)-1)
		$1=""
		field[FN][title]=$0
	}
	END{
		for(i=1;i<FN;i++){
			for(j=0;j<argc;j++){
				printf "%-20s\t", field[i][argv[j]]
			}
			printf "\n"
		}
	}
' - /proc/*/status
}
for gtkdialog you'd probably want to change the formatting fron printf "%-20s\t", field[argv[j]] to printf "%s|", field[argv[j]]
and replace the last printf "\n" with printf "<something useful>\n"

Posted: Mon 13 May 2013, 15:58
by zigbert
technosaurus
Thank you.
your alternative ps is noted, and will be considered by a major upgrade.

Your awk-thread is very helpful, and I am getting some basic knowledge of awk. Used in the right places, awk is like speed-of-light compared to bash.
I am thankful


Sigmund

Posted: Mon 13 May 2013, 17:39
by technosaurus
zigbert wrote:Used in the right places, awk is like speed-of-light compared to bash.
Its not really faster per se, but its faster than using bash + all the extra utilities to get the same functionality as awk.

btw if you decide you want to use it let me know and I can rework it to play well with busybox awk (switch from using 2d arrays)