changelog shortlog tags branches changeset files revisions annotate raw help

Mercurial > hg > plan9front / rc/bin/tap

changeset 7243: 34f64dcbbc25
parent: 4eede2f257c4
author: cinap_lenrek@felloff.net
date: Fri, 17 May 2019 18:14:10 +0200
permissions: -rwxr-xr-x
description: 7l: don't hardcode 4k pagesize, use INITRND
1 #!/bin/rc
2 rfork e
3 
4 if(~ $#* 0){
5  echo 'Usage: ' $0 '[ pid ... ]' >[1=2]
6  exit usage
7 }
8 
9 f=/proc/*/fd
10 
11 fn otherqid {
12  x=`{echo $1 | sed 's/[12]$//'}
13  switch($1){
14  case $x^1
15  echo $x^2
16  case $x^2
17  echo $x^1
18  }
19 }
20 
21 fn traceqid {
22  while(! ~ $#* 0){
23  echo $t '['$2']' $3 $1
24  t=(' ' $t)
25  tracepid `{grep -n `{otherqid $1} $f >[2]/dev/null | sed 's!^/proc/([^/]+)/.*!\1!g'}
26  t=$t(2-)
27  shift
28  shift
29  shift
30  }
31 }
32 
33 fn tracepid {
34  while(! ~ $#* 0){
35  a=ap$1
36  v=av$1
37  if(~ $$v $1){
38  echo $t $1 $$a ' ...'
39  }
40  if not {
41  $v=$1
42  $a=`{cat /proc/$1/args >[2]/dev/null}
43  if(~ $$a ''){
44  s=`{cat /proc/$1/status >[2]/dev/null}
45  $a=$s(1)
46  }
47  echo $t $1 $$a
48  t=(' ' $t)
49  traceqid `{awk '/\|/{q=substr($5,2);print q" "$1" "$10}' /proc/$1/fd >[2]/dev/null}
50  t=$t(2-)
51  }
52  shift
53  }
54 }
55 
56 tracepid $*