dontkill 404 B

12345678910111213
  1. #!/bin/rc
  2. # dontkill regexp - mark invoker's processes with names matching regexp
  3. # as not killable when the kernel runs out of memory
  4. if (! ~ $#* 1) {
  5. echo $0 regexp >[1=2]
  6. exit usage
  7. }
  8. cd /proc
  9. # see /sys/src/9/port/proc.c:/^killbig
  10. #pids=`{psu | awk '$NF ~ /'$1'/ {print $2}'}
  11. pattern=`{echo $1 | sed 's/^^/ /'}
  12. pids=`{psu | grep $pattern | field 2}
  13. ~ $#pids 0 || chmod -w $pids^/ctl >[2]/dev/null