Commit Diff


commit - 771ff2bc058ee7177828e8d2c01fbd9619933784
commit + 629864f582b3da6517aee2cac55c26cc832d65b6
blob - /dev/null
blob + d0723c503c3b655ee27468418d63ef271e542fa0 (mode 755)
--- /dev/null
+++ bin/kill
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for i
+do
+	psu | awk '$NF ~ /^('$i')$/ {printf("/bin/kill %d # %s\n", $2, $0);}'
+done
blob - /dev/null
blob + 0d6c7ecc27d11520374805175dd9acb7f2663b64 (mode 755)
--- /dev/null
+++ bin/ps
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+I_WANT_A_BROKEN_PS=yes
+export I_WANT_A_BROKEN_PS
+all=no
+if [ "x$1" = "x-a" ]
+then
+	all=yes
+fi
+export all
+
+cat >/tmp/awk.xxx$$ <<'!'
+BEGIN{
+	state["D"] = "Spinwait";
+	state["I"] = "Idle";
+	state["J"] = "Jail";
+	state["R"] = "Ready";
+	state["S"] = "Sleep";
+	state["T"] = "Stopped";
+	state["Z"] = "Zombie";
+	state["W"] = "Fault";
+	state["X"] = "Moribund";
+}
+
+function statestr(s)
+{
+	t = state[substr(s, 1, 1)];
+	if(t == "")
+		return s;
+	return t;
+}
+
+# rsc  36706   starttime 0:00.17  1076 Is+  -bash (bash)
+{
+	i=1
+	user=$i; i++
+	pid=$i; i++
+	start=$i; i++
+	if(start ~ /^[A-Z][a-z][a-z]$/){
+		start = start "-" $i; i++
+	}
+	cputime=$i; i++
+	mem=$i; i++
+	stat=$i; i++
+	cmd=$i; i++	
+	if(ENVIRON["all"] == "yes"){
+		for(; i<=NF; i++)
+			cmd = cmd " " $i;
+	}else{
+		sub(/.*\//, "", cmd);
+		sub(/:$/, "", cmd);
+		sub(/^-/, "", cmd);
+		s = " " cmd;
+	}
+	sub(/\.[0-9][0-9]$/, "", cputime);	# drop .hundredths of second
+	if(cputime ~ /..:..:../){	# convert hh:mm:ss into mm:ss
+		split(cputime, a, ":");
+		cputime = sprintf("%d:%02d", a[1]*60+a[2], a[3]);
+	}
+	if(start ~ /..:..:../){	# drop :ss
+		sub(/:..$/, "", start);
+	}
+	printf("%-8s  %11d %8s %8s %8dK %-8s %s\n",
+		user, pid, start, cputime, mem, statestr(stat), cmd);
+}
+!
+
+/bin/ps -axww -o 'user,pid,start,time,vsz,stat,command' | sed 1d |
+	awk -f /tmp/awk.xxx$$ | sort +1 -n
+
+rm -f /tmp/awk.xxx$$
+
blob - /dev/null
blob + da6d8d457cbb5198a7b66dda6c7e73411f666cd6 (mode 755)
--- /dev/null
+++ bin/psu
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+flag=''
+if [ "x$1" = "x-a" ]
+then
+	flag=-a
+	shift
+fi
+
+user=`whoami`
+case $# in
+0)
+	user=`whoami`
+	;;
+1)
+	user=$1
+	;;
+*)
+	echo 'usage: psu [-a] [user]' 1>&2
+	exit 1
+esac
+
+ps $flag | grep "^$user "
blob - /dev/null
blob + 0028e0c8c042d910940cbadad0d77afa459430ad (mode 755)
--- /dev/null
+++ bin/slay
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for i
+do
+	psu | awk '$NF ~ /^('$i')$/ {printf("/bin/kill -9 %d # %s\n", $2, $0);}'
+done