rcmain 963 B

123456789101112131415161718192021222324252627282930313233343536
  1. #
  2. # rcmain
  3. # Plan 9 initial boot environment version
  4. #
  5. home=/
  6. ifs='
  7. '
  8. prompt=('# ' ' ')
  9. path=(. /bin /boot)
  10. finit
  11. fn sigexit
  12. fn ps {@{
  13. cd /proc;
  14. for(i in `{echo [1-9] [1-9][0-9] [1-9][0-9][0-9] [1-9][0-9][0-9][0-9] [1-9][0-9][0-9][0-9][0-9] [1-9][0-9][0-9][0-9][0-9]*|sed 's/\[.*\][ \*]//'}){
  15. for(f in $i^/status $i^/args)
  16. >[2]/dev/null sed '' $f
  17. }|sed -e '$!N;s/([^ ])$/\1/;ta' -e 'P;D;b' -e ':a;s/\n//' \
  18. |sed 's/ +/ /g;s/^([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+) +([^ ]+)+ ([^ ]+ +[^ ]+)(.*)/\2 '^$i^' \5K \3 \1 \7/'
  19. }}
  20. fn netstat {@{
  21. for(p in tcp udp){
  22. cd /net/$p;
  23. for(i in `{echo [0-9] [1-9][0-9] [1-9][0-9][0-9] [1-9][0-9][0-9]*|sed 's/\[.*\][ \*]//'}){
  24. echo -n $p' '$i' *owner* ';
  25. cat $i/status $i/local $i/remote \
  26. | sed -n -e :a -e '$!N; s/ .*//; s/!/ /; s/\n/ /; ta;
  27. s/([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+)/\1 \3 \5 \4/p'
  28. }
  29. }
  30. }}
  31. status=''
  32. if(! ~ $#* 0) . $*
  33. . -i '#d/0'
  34. exit $status