commit 629864f582b3da6517aee2cac55c26cc832d65b6 from: rsc date: Mon Oct 13 18:25:28 2003 UTC Some Plan 9 workalikes. 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