home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: pt.bsd
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 64 65 63 | 77 72 6c 21 6c 61 62 72 |From dec|wrl!labr|
|00000010| 65 61 21 72 75 74 67 65 | 72 73 21 75 6b 6d 61 21 |ea!rutge|rs!ukma!|
|00000020| 63 77 6a 63 63 21 68 61 | 6c 21 6e 63 6f 61 73 74 |cwjcc!ha|l!ncoast|
|00000030| 21 61 6c 6c 62 65 72 79 | 20 4d 6f 6e 20 44 65 63 |!allbery| Mon Dec|
|00000040| 20 31 39 20 30 35 3a 33 | 38 3a 32 39 20 50 53 54 | 19 05:3|8:29 PST|
|00000050| 20 31 39 38 38 0a 41 72 | 74 69 63 6c 65 20 37 36 | 1988.Ar|ticle 76|
|00000060| 30 20 6f 66 20 63 6f 6d | 70 2e 73 6f 75 72 63 65 |0 of com|p.source|
|00000070| 73 2e 6d 69 73 63 3a 0a | 50 61 74 68 3a 20 67 72 |s.misc:.|Path: gr|
|00000080| 61 6e 69 74 65 21 64 65 | 63 77 72 6c 21 6c 61 62 |anite!de|cwrl!lab|
|00000090| 72 65 61 21 72 75 74 67 | 65 72 73 21 75 6b 6d 61 |rea!rutg|ers!ukma|
|000000a0| 21 63 77 6a 63 63 21 68 | 61 6c 21 6e 63 6f 61 73 |!cwjcc!h|al!ncoas|
|000000b0| 74 21 61 6c 6c 62 65 72 | 79 0a 46 72 6f 6d 3a 20 |t!allber|y.From: |
|000000c0| 6c 65 77 40 67 73 67 2e | 55 55 43 50 20 28 50 61 |lew@gsg.|UUCP (Pa|
|000000d0| 75 6c 20 4c 65 77 29 0a | 4e 65 77 73 67 72 6f 75 |ul Lew).|Newsgrou|
|000000e0| 70 73 3a 20 63 6f 6d 70 | 2e 73 6f 75 72 63 65 73 |ps: comp|.sources|
|000000f0| 2e 6d 69 73 63 0a 53 75 | 62 6a 65 63 74 3a 20 76 |.misc.Su|bject: v|
|00000100| 30 35 69 30 38 34 3a 20 | 73 75 62 6d 69 73 73 69 |05i084: |submissi|
|00000110| 6f 6e 20 74 6f 20 63 6f | 6d 70 2e 73 6f 75 72 63 |on to co|mp.sourc|
|00000120| 65 73 2e 6d 69 73 63 0a | 4d 65 73 73 61 67 65 2d |es.misc.|Message-|
|00000130| 49 44 3a 20 3c 38 38 31 | 32 31 36 31 38 31 39 2e |ID: <881|2161819.|
|00000140| 41 41 32 38 35 38 38 40 | 67 73 67 2e 55 55 43 50 |AA28588@|gsg.UUCP|
|00000150| 3e 0a 44 61 74 65 3a 20 | 31 39 20 44 65 63 20 38 |>.Date: |19 Dec 8|
|00000160| 38 20 30 30 3a 31 38 3a | 32 32 20 47 4d 54 0a 53 |8 00:18:|22 GMT.S|
|00000170| 65 6e 64 65 72 3a 20 61 | 6c 6c 62 65 72 79 40 6e |ender: a|llbery@n|
|00000180| 63 6f 61 73 74 2e 55 55 | 43 50 0a 52 65 70 6c 79 |coast.UU|CP.Reply|
|00000190| 2d 54 6f 3a 20 6c 65 77 | 40 67 73 67 2e 55 55 43 |-To: lew|@gsg.UUC|
|000001a0| 50 20 28 50 61 75 6c 20 | 4c 65 77 29 0a 4c 69 6e |P (Paul |Lew).Lin|
|000001b0| 65 73 3a 20 35 32 31 0a | 41 70 70 72 6f 76 65 64 |es: 521.|Approved|
|000001c0| 3a 20 61 6c 6c 62 65 72 | 79 40 6e 63 6f 61 73 74 |: allber|y@ncoast|
|000001d0| 2e 55 55 43 50 0a 0a 50 | 6f 73 74 69 6e 67 2d 6e |.UUCP..P|osting-n|
|000001e0| 75 6d 62 65 72 3a 20 56 | 6f 6c 75 6d 65 20 35 2c |umber: V|olume 5,|
|000001f0| 20 49 73 73 75 65 20 38 | 34 0a 53 75 62 6d 69 74 | Issue 8|4.Submit|
|00000200| 74 65 64 2d 62 79 3a 20 | 22 50 61 75 6c 20 4c 65 |ted-by: |"Paul Le|
|00000210| 77 22 20 3c 6c 65 77 40 | 67 73 67 2e 55 55 43 50 |w" <lew@|gsg.UUCP|
|00000220| 3e 0a 41 72 63 68 69 76 | 65 2d 6e 61 6d 65 3a 20 |>.Archiv|e-name: |
|00000230| 70 74 2e 62 73 64 0a 0a | 4e 65 77 73 67 72 6f 75 |pt.bsd..|Newsgrou|
|00000240| 70 73 3a 20 63 6f 6d 70 | 2e 73 6f 75 72 63 65 73 |ps: comp|.sources|
|00000250| 2e 6d 69 73 63 0a 4b 65 | 79 77 6f 72 64 73 3a 20 |.misc.Ke|ywords: |
|00000260| 70 73 20 42 53 44 20 70 | 72 6f 63 65 73 73 20 74 |ps BSD p|rocess t|
|00000270| 72 65 65 0a 4d 65 73 73 | 61 67 65 2d 49 44 3a 20 |ree.Mess|age-ID: |
|00000280| 3c 32 39 30 40 67 73 67 | 2e 55 55 43 50 3e 0a 44 |<290@gsg|.UUCP>.D|
|00000290| 61 74 65 3a 20 31 36 20 | 44 65 63 20 38 38 20 31 |ate: 16 |Dec 88 1|
|000002a0| 37 3a 33 39 3a 35 37 20 | 47 4d 54 0a 4f 72 67 61 |7:39:57 |GMT.Orga|
|000002b0| 6e 69 7a 61 74 69 6f 6e | 3a 20 47 65 6e 65 72 61 |nization|: Genera|
|000002c0| 6c 20 53 79 73 74 65 6d | 73 20 47 72 6f 75 70 2c |l System|s Group,|
|000002d0| 20 49 6e 63 2e 2c 20 53 | 61 6c 65 6d 2c 20 4e 48 | Inc., S|alem, NH|
|000002e0| 0a 4c 69 6e 65 73 3a 20 | 35 31 31 0a 0a 09 70 74 |.Lines: |511...pt|
|000002f0| 72 65 65 2c 70 74 3a 20 | 42 53 44 20 70 73 20 62 |ree,pt: |BSD ps b|
|00000300| 61 63 6b 65 6e 64 20 66 | 69 6c 74 65 72 20 74 6f |ackend f|ilter to|
|00000310| 20 64 69 73 70 6c 61 79 | 20 70 72 6f 63 65 73 73 | display| process|
|00000320| 20 74 72 65 65 0a 0a 23 | 21 20 2f 62 69 6e 2f 73 | tree..#|! /bin/s|
|00000330| 68 0a 23 20 54 68 69 73 | 20 69 73 20 61 20 73 68 |h.# This| is a sh|
|00000340| 65 6c 6c 20 61 72 63 68 | 69 76 65 2c 20 6d 65 61 |ell arch|ive, mea|
|00000350| 6e 69 6e 67 3a 0a 23 20 | 31 2e 20 52 65 6d 6f 76 |ning:.# |1. Remov|
|00000360| 65 20 65 76 65 72 79 74 | 68 69 6e 67 20 61 62 6f |e everyt|hing abo|
|00000370| 76 65 20 74 68 65 20 23 | 21 20 2f 62 69 6e 2f 73 |ve the #|! /bin/s|
|00000380| 68 20 6c 69 6e 65 2e 0a | 23 20 32 2e 20 53 61 76 |h line..|# 2. Sav|
|00000390| 65 20 74 68 65 20 72 65 | 73 75 6c 74 69 6e 67 20 |e the re|sulting |
|000003a0| 74 65 78 74 20 69 6e 20 | 61 20 66 69 6c 65 2e 0a |text in |a file..|
|000003b0| 23 20 33 2e 20 45 78 65 | 63 75 74 65 20 74 68 65 |# 3. Exe|cute the|
|000003c0| 20 66 69 6c 65 20 77 69 | 74 68 20 2f 62 69 6e 2f | file wi|th /bin/|
|000003d0| 73 68 20 28 6e 6f 74 20 | 63 73 68 29 20 74 6f 20 |sh (not |csh) to |
|000003e0| 63 72 65 61 74 65 20 74 | 68 65 20 66 69 6c 65 73 |create t|he files|
|000003f0| 3a 0a 23 09 52 45 41 44 | 4d 45 0a 23 09 70 74 72 |:.#.READ|ME.#.ptr|
|00000400| 65 65 2e 63 0a 23 09 4b | 69 6c 6c 0a 23 20 54 68 |ee.c.#.K|ill.# Th|
|00000410| 69 73 20 61 72 63 68 69 | 76 65 20 63 72 65 61 74 |is archi|ve creat|
|00000420| 65 64 3a 20 46 72 69 20 | 44 65 63 20 31 36 20 31 |ed: Fri |Dec 16 1|
|00000430| 32 3a 32 32 3a 30 37 20 | 31 39 38 38 0a 65 78 70 |2:22:07 |1988.exp|
|00000440| 6f 72 74 20 50 41 54 48 | 3b 20 50 41 54 48 3d 2f |ort PATH|; PATH=/|
|00000450| 62 69 6e 3a 24 50 41 54 | 48 0a 65 63 68 6f 20 73 |bin:$PAT|H.echo s|
|00000460| 68 61 72 3a 20 65 78 74 | 72 61 63 74 69 6e 67 20 |har: ext|racting |
|00000470| 22 27 52 45 41 44 4d 45 | 27 22 20 27 28 32 30 30 |"'README|'" '(200|
|00000480| 39 20 63 68 61 72 61 63 | 74 65 72 73 29 27 0a 69 |9 charac|ters)'.i|
|00000490| 66 20 74 65 73 74 20 2d | 66 20 27 52 45 41 44 4d |f test -|f 'READM|
|000004a0| 45 27 0a 74 68 65 6e 0a | 09 65 63 68 6f 20 73 68 |E'.then.|.echo sh|
|000004b0| 61 72 3a 20 77 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: will| not ove|
|000004c0| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|000004d0| 20 66 69 6c 65 20 22 27 | 52 45 41 44 4d 45 27 22 | file "'|README'"|
|000004e0| 0a 65 6c 73 65 0a 73 65 | 64 20 27 73 2f 5e 09 58 |.else.se|d 's/^.X|
|000004f0| 2f 2f 27 20 3c 3c 20 5c | 53 48 41 52 5f 45 4f 46 |//' << \|SHAR_EOF|
|00000500| 20 3e 20 27 52 45 41 44 | 4d 45 27 0a 09 58 09 09 | > 'READ|ME'..X..|
|00000510| 09 50 74 72 65 65 20 56 | 65 72 73 69 6f 6e 20 31 |.Ptree V|ersion 1|
|00000520| 2e 30 20 20 30 35 2f 32 | 34 2f 38 38 0a 09 58 0a |.0 05/2|4/88..X.|
|00000530| 09 58 49 6e 74 72 6f 64 | 75 63 74 69 6f 6e 3a 0a |.XIntrod|uction:.|
|00000540| 09 58 0a 09 58 20 20 20 | 20 70 74 72 65 65 20 69 |.X..X | ptree i|
|00000550| 73 20 20 61 20 62 61 63 | 6b 65 6e 64 20 66 69 6c |s a bac|kend fil|
|00000560| 74 65 72 20 20 66 6f 72 | 20 20 42 53 44 20 20 27 |ter for| BSD '|
|00000570| 70 73 27 20 63 6f 6d 6d | 61 6e 64 2e 20 20 49 74 |ps' comm|and. It|
|00000580| 20 20 72 65 61 64 73 20 | 74 68 65 0a 09 58 20 20 | reads |the..X |
|00000590| 20 20 6f 75 74 70 75 74 | 20 66 72 6f 6d 20 20 70 | output| from p|
|000005a0| 73 20 61 6e 64 20 70 72 | 6f 64 75 63 65 73 20 20 |s and pr|oduces |
|000005b0| 70 72 6f 63 65 73 73 20 | 74 72 65 65 20 20 67 72 |process |tree gr|
|000005c0| 61 70 68 20 6f 6e 20 74 | 68 65 20 20 73 74 61 6e |aph on t|he stan|
|000005d0| 64 61 72 64 0a 09 58 20 | 20 20 20 6f 75 74 70 75 |dard..X | outpu|
|000005e0| 74 20 77 69 74 68 20 65 | 61 63 68 20 70 72 6f 63 |t with e|ach proc|
|000005f0| 65 73 73 20 69 6e 64 65 | 6e 74 65 64 20 75 6e 64 |ess inde|nted und|
|00000600| 65 72 20 69 74 73 20 20 | 70 61 72 65 6e 74 2e 20 |er its |parent. |
|00000610| 20 54 68 69 73 20 70 72 | 6f 67 72 61 6d 0a 09 58 | This pr|ogram..X|
|00000620| 20 20 20 20 77 61 73 20 | 69 6e 73 70 69 72 65 64 | was |inspired|
|00000630| 20 62 79 20 20 74 68 65 | 20 27 75 74 72 65 65 27 | by the| 'utree'|
|00000640| 20 70 72 6f 67 72 61 6d | 20 20 66 6f 72 20 20 73 | program| for s|
|00000650| 79 73 74 65 6d 20 56 20 | 20 66 72 6f 6d 20 20 42 |ystem V | from B|
|00000660| 72 61 6e 64 6f 6e 0a 09 | 58 20 20 20 20 41 6c 6c |randon..|X All|
|00000670| 62 65 72 79 2e 20 20 54 | 68 65 20 66 6f 6c 6c 6f |bery. T|he follo|
|00000680| 77 69 6e 67 20 69 73 20 | 61 6e 20 65 78 61 6d 70 |wing is |an examp|
|00000690| 6c 65 3a 0a 09 58 0a 09 | 58 20 20 20 20 20 20 24 |le:..X..|X $|
|000006a0| 20 70 74 72 65 65 20 61 | 67 20 7c 20 67 72 65 70 | ptree a|g | grep|
|000006b0| 20 2d 76 20 67 65 74 74 | 79 0a 09 58 09 20 20 55 | -v gett|y..X. U|
|000006c0| 53 45 52 20 53 54 41 54 | 20 54 54 59 20 20 54 49 |SER STAT| TTY TI|
|000006d0| 4d 45 20 43 4f 4d 4d 41 | 4e 44 0a 09 58 09 20 20 |ME COMMA|ND..X. |
|000006e0| 20 6c 65 77 20 49 20 20 | 20 20 69 31 34 20 20 30 | lew I | i14 0|
|000006f0| 3a 30 39 20 2d 54 63 73 | 68 20 28 54 63 73 68 29 |:09 -Tcs|h (Tcsh)|
|00000700| 0a 09 58 09 20 20 20 6c | 65 77 20 49 20 20 20 20 |..X. l|ew I |
|00000710| 69 31 34 20 20 30 3a 33 | 31 20 7c 20 20 65 6d 61 |i14 0:3|1 | ema|
|00000720| 63 73 0a 09 58 09 20 20 | 20 6c 65 77 20 49 20 20 |cs..X. | lew I |
|00000730| 20 20 70 30 20 20 20 30 | 3a 30 30 20 7c 20 20 7c | p0 0|:00 | ||
|00000740| 20 20 2f 75 73 72 2f 6c | 6f 63 61 6c 2f 65 6d 61 | /usr/l|ocal/ema|
|00000750| 63 73 2f 65 74 63 2f 6c | 6f 61 64 73 74 20 2d 6e |cs/etc/l|oadst -n|
|00000760| 20 36 30 0a 09 58 09 20 | 61 6c 69 63 65 20 49 20 | 60..X. |alice I |
|00000770| 20 20 20 69 31 37 20 20 | 30 3a 30 33 20 2d 63 73 | i17 |0:03 -cs|
|00000780| 68 20 28 63 73 68 29 0a | 09 58 09 20 20 20 6c 65 |h (csh).|.X. le|
|00000790| 77 20 49 20 20 20 20 69 | 31 38 20 20 30 3a 30 38 |w I i|18 0:08|
|000007a0| 20 2d 54 63 73 68 20 28 | 54 63 73 68 29 0a 09 58 | -Tcsh (|Tcsh)..X|
|000007b0| 09 20 20 20 6c 65 77 20 | 53 20 20 20 20 69 31 38 |. lew |S i18|
|000007c0| 20 20 30 3a 30 39 20 7c | 20 20 73 63 72 65 65 6e | 0:09 || screen|
|000007d0| 20 2d 65 3f 5d 0a 09 58 | 09 20 20 20 6c 65 77 20 | -e?]..X|. lew |
|000007e0| 49 20 20 20 20 70 31 20 | 20 20 30 3a 30 36 20 7c |I p1 | 0:06 ||
|000007f0| 20 20 7c 20 20 2d 62 69 | 6e 2f 54 63 73 68 20 28 | | -bi|n/Tcsh (|
|00000800| 54 63 73 68 29 0a 09 58 | 09 20 20 20 6c 65 77 20 |Tcsh)..X|. lew |
|00000810| 53 20 20 20 20 70 32 20 | 20 20 30 3a 30 37 20 7c |S p2 | 0:07 ||
|00000820| 20 20 7c 20 20 2d 62 69 | 6e 2f 54 63 73 68 20 28 | | -bi|n/Tcsh (|
|00000830| 54 63 73 68 29 0a 09 58 | 09 64 6f 6d 69 6e 6f 20 |Tcsh)..X|.domino |
|00000840| 53 20 20 20 20 69 32 36 | 20 20 30 3a 30 35 20 2d |S i26| 0:05 -|
|00000850| 63 73 68 20 28 63 73 68 | 29 0a 09 58 09 64 6f 6d |csh (csh|)..X.dom|
|00000860| 69 6e 6f 20 53 20 20 20 | 20 69 32 36 20 20 30 3a |ino S | i26 0:|
|00000870| 30 30 20 7c 20 20 6c 70 | 72 69 6e 74 20 2d 66 20 |00 | lp|rint -f |
|00000880| 2f 75 73 72 2f 6c 6f 63 | 61 6c 2f 62 69 6e 2f 6c |/usr/loc|al/bin/l|
|00000890| 70 72 69 6e 74 20 2d 6e | 20 42 69 67 42 75 63 6b |print -n| BigBuck|
|000008a0| 73 0a 09 58 09 64 6f 6d | 69 6e 6f 20 53 20 20 20 |s..X.dom|ino S |
|000008b0| 20 69 32 36 20 20 30 3a | 30 30 20 7c 20 20 7c 20 | i26 0:|00 | | |
|000008c0| 20 64 63 61 74 20 2d 64 | 20 33 20 2d 62 20 31 32 | dcat -d| 3 -b 12|
|000008d0| 38 0a 09 58 09 20 20 20 | 6d 78 74 20 49 20 20 20 |8..X. |mxt I |
|000008e0| 20 69 32 37 20 20 30 3a | 30 32 20 2d 63 73 68 20 | i27 0:|02 -csh |
|000008f0| 28 63 73 68 29 0a 09 58 | 09 20 20 20 6d 78 74 20 |(csh)..X|. mxt |
|00000900| 49 20 20 20 20 69 32 37 | 20 20 30 3a 30 33 20 7c |I i27| 0:03 ||
|00000910| 20 20 6d 61 69 6c 20 2d | 66 0a 09 58 09 20 20 20 | mail -|f..X. |
|00000920| 6d 78 74 20 49 20 20 20 | 20 69 32 37 20 20 30 3a |mxt I | i27 0:|
|00000930| 30 30 20 7c 20 20 7c 20 | 20 73 68 20 2d 63 20 2f |00 | | | sh -c /|
|00000940| 75 73 72 2f 75 63 62 2f | 6d 6f 72 65 0a 09 58 09 |usr/ucb/|more..X.|
|00000950| 20 20 20 6d 78 74 20 49 | 20 20 20 20 69 32 37 20 | mxt I| i27 |
|00000960| 20 30 3a 30 30 20 7c 20 | 20 7c 20 20 7c 20 20 2f | 0:00 | | | | /|
|00000970| 75 73 72 2f 75 63 62 2f | 6d 6f 72 65 0a 09 58 0a |usr/ucb/|more..X.|
|00000980| 09 58 20 20 20 20 54 68 | 69 73 20 69 73 20 6e 6f |.X Th|is is no|
|00000990| 74 20 27 79 65 74 20 61 | 6e 6f 74 68 65 72 20 73 |t 'yet a|nother s|
|000009a0| 65 74 75 69 64 20 70 72 | 6f 67 72 61 6d 27 2e 20 |etuid pr|ogram'. |
|000009b0| 20 59 6f 75 20 64 6f 6e | 74 20 68 61 76 65 20 74 | You don|t have t|
|000009c0| 6f 20 62 65 20 74 68 65 | 0a 09 58 20 20 20 20 72 |o be the|..X r|
|000009d0| 6f 6f 74 20 74 6f 20 75 | 73 65 20 69 74 2e 20 20 |oot to u|se it. |
|000009e0| 54 68 69 73 20 69 73 20 | 74 68 65 20 6d 61 69 6e |This is |the main|
|000009f0| 20 72 65 61 73 6f 6e 20 | 20 74 6f 20 77 72 69 74 | reason | to writ|
|00000a00| 65 20 69 74 20 61 73 20 | 61 20 66 69 6c 74 65 72 |e it as |a filter|
|00000a10| 2e 0a 09 58 20 20 20 20 | 4d 61 79 20 62 65 20 42 |...X |May be B|
|00000a20| 53 44 20 63 61 6e 20 69 | 6e 63 6f 72 70 6f 72 61 |SD can i|ncorpora|
|00000a30| 74 65 20 74 68 69 73 20 | 69 6e 74 6f 20 72 65 61 |te this |into rea|
|00000a40| 6c 20 27 70 73 27 20 6f | 6e 20 66 75 74 75 72 65 |l 'ps' o|n future|
|00000a50| 20 72 65 6c 65 61 73 65 | 2e 0a 09 58 0a 09 58 20 | release|...X..X |
|00000a60| 20 20 20 4b 69 6c 6c 20 | 69 73 20 61 20 73 63 72 | Kill |is a scr|
|00000a70| 69 70 74 20 77 68 69 63 | 68 20 75 73 65 73 20 27 |ipt whic|h uses '|
|00000a80| 73 66 27 20 28 73 68 65 | 6c 6c 20 66 6f 72 6d 20 |sf' (she|ll form |
|00000a90| 69 6e 20 63 6f 6d 70 2e | 73 6f 75 72 63 65 73 2e |in comp.|sources.|
|00000aa0| 75 6e 69 78 29 0a 09 58 | 20 20 20 20 74 6f 20 61 |unix)..X| to a|
|00000ab0| 6c 6c 6f 77 20 6f 6e 65 | 20 74 6f 20 73 65 6e 64 |llow one| to send|
|00000ac0| 20 73 69 67 6e 61 6c 73 | 20 74 6f 20 70 72 6f 63 | signals| to proc|
|00000ad0| 65 73 73 65 73 20 62 79 | 20 63 6f 6e 74 65 78 74 |esses by| context|
|00000ae0| 2e 0a 09 58 0a 09 58 4d | 61 6e 75 61 6c 3a 0a 09 |...X..XM|anual:..|
|00000af0| 58 0a 09 58 20 20 20 20 | 54 68 65 72 65 20 69 73 |X..X |There is|
|00000b00| 20 6e 6f 20 6d 61 6e 20 | 70 61 67 65 20 74 6f 20 | no man |page to |
|00000b10| 69 74 2c 20 74 79 70 65 | 3a 20 27 70 74 20 48 27 |it, type|: 'pt H'|
|00000b20| 20 77 69 6c 6c 20 67 69 | 76 65 20 79 6f 75 20 73 | will gi|ve you s|
|00000b30| 69 6d 70 6c 65 20 68 65 | 6c 70 0a 09 58 20 20 20 |imple he|lp..X |
|00000b40| 20 6d 65 73 73 61 67 65 | 2e 20 20 49 66 20 79 6f | message|. If yo|
|00000b50| 75 20 6b 6e 6f 77 20 68 | 6f 77 20 27 70 73 27 20 |u know h|ow 'ps' |
|00000b60| 77 6f 72 6b 73 20 74 68 | 65 6e 20 79 6f 75 20 20 |works th|en you |
|00000b70| 64 6f 6e 74 20 6e 65 65 | 64 20 61 20 6d 61 6e 75 |dont nee|d a manu|
|00000b80| 61 6c 2c 0a 09 58 20 20 | 20 20 69 66 20 79 6f 75 |al,..X | if you|
|00000b90| 20 64 6f 6e 74 2c 20 74 | 68 69 73 20 6d 69 67 68 | dont, t|his migh|
|00000ba0| 74 20 6e 6f 74 20 62 65 | 20 75 73 65 66 75 6c 20 |t not be| useful |
|00000bb0| 74 6f 20 79 6f 75 2e 0a | 09 58 0a 09 58 42 75 69 |to you..|.X..XBui|
|00000bc0| 6c 64 3a 0a 09 58 0a 09 | 58 20 20 20 20 63 63 20 |ld:..X..|X cc |
|00000bd0| 2d 6f 20 70 74 72 65 65 | 20 70 74 72 65 65 2e 63 |-o ptree| ptree.c|
|00000be0| 0a 09 58 20 20 20 20 6c | 6e 20 70 74 72 65 65 20 |..X l|n ptree |
|00000bf0| 70 74 0a 09 58 0a 09 58 | 43 6f 70 79 72 69 67 68 |pt..X..X|Copyrigh|
|00000c00| 74 3a 0a 09 58 0a 09 58 | 20 20 20 20 4e 6f 20 63 |t:..X..X| No c|
|00000c10| 6f 70 79 72 69 67 68 74 | 2c 20 63 6f 6d 70 6c 65 |opyright|, comple|
|00000c20| 74 65 20 69 6e 20 70 75 | 62 6c 69 63 20 64 6f 6d |te in pu|blic dom|
|00000c30| 61 69 6e 2e 20 44 6f 20 | 77 68 61 74 65 76 65 72 |ain. Do |whatever|
|00000c40| 20 79 6f 75 20 6c 69 6b | 65 20 77 69 74 68 0a 09 | you lik|e with..|
|00000c50| 58 20 20 20 20 69 74 2e | 20 20 49 66 20 79 6f 75 |X it.| If you|
|00000c60| 20 63 61 6e 20 6d 61 6b | 65 20 6d 6f 6e 65 79 20 | can mak|e money |
|00000c70| 66 72 6f 6d 20 69 74 2c | 20 67 72 65 61 74 20 66 |from it,| great f|
|00000c80| 6f 72 20 79 6f 75 2e 0a | 09 58 0a 09 58 2d 2d 2d |or you..|.X..X---|
|00000c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 0a 09 58 50 61 | 75 6c 20 4c 65 77 09 09 |---..XPa|ul Lew..|
|00000ce0| 09 7b 6f 6c 69 76 65 61 | 2c 68 61 72 76 61 72 64 |.{olivea|,harvard|
|00000cf0| 2c 64 65 63 76 61 78 7d | 21 67 73 67 21 6c 65 77 |,decvax}|!gsg!lew|
|00000d00| 09 28 55 55 43 50 29 0a | 09 58 47 65 6e 65 72 61 |.(UUCP).|.XGenera|
|00000d10| 6c 20 53 79 73 74 65 6d | 73 20 47 72 6f 75 70 2c |l System|s Group,|
|00000d20| 20 35 20 4d 61 6e 6f 72 | 20 50 61 72 6b 77 61 79 | 5 Manor| Parkway|
|00000d30| 2c 20 53 61 6c 65 6d 2c | 20 4e 48 20 30 33 30 37 |, Salem,| NH 0307|
|00000d40| 39 09 28 36 30 33 29 20 | 38 39 33 2d 31 30 30 30 |9.(603) |893-1000|
|00000d50| 0a 53 48 41 52 5f 45 4f | 46 0a 69 66 20 74 65 73 |.SHAR_EO|F.if tes|
|00000d60| 74 20 32 30 30 39 20 2d | 6e 65 20 22 60 77 63 20 |t 2009 -|ne "`wc |
|00000d70| 2d 63 20 3c 20 27 52 45 | 41 44 4d 45 27 60 22 0a |-c < 'RE|ADME'`".|
|00000d80| 74 68 65 6e 0a 09 65 63 | 68 6f 20 73 68 61 72 3a |then..ec|ho shar:|
|00000d90| 20 65 72 72 6f 72 20 74 | 72 61 6e 73 6d 69 74 74 | error t|ransmitt|
|00000da0| 69 6e 67 20 22 27 52 45 | 41 44 4d 45 27 22 20 27 |ing "'RE|ADME'" '|
|00000db0| 28 73 68 6f 75 6c 64 20 | 68 61 76 65 20 62 65 65 |(should |have bee|
|00000dc0| 6e 20 32 30 30 39 20 63 | 68 61 72 61 63 74 65 72 |n 2009 c|haracter|
|00000dd0| 73 29 27 0a 66 69 0a 66 | 69 20 23 20 65 6e 64 20 |s)'.fi.f|i # end |
|00000de0| 6f 66 20 6f 76 65 72 77 | 72 69 74 69 6e 67 20 63 |of overw|riting c|
|00000df0| 68 65 63 6b 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |heck.ech|o shar: |
|00000e00| 65 78 74 72 61 63 74 69 | 6e 67 20 22 27 70 74 72 |extracti|ng "'ptr|
|00000e10| 65 65 2e 63 27 22 20 27 | 28 38 38 38 33 20 63 68 |ee.c'" '|(8883 ch|
|00000e20| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|00000e30| 73 74 20 2d 66 20 27 70 | 74 72 65 65 2e 63 27 0a |st -f 'p|tree.c'.|
|00000e40| 74 68 65 6e 0a 09 65 63 | 68 6f 20 73 68 61 72 3a |then..ec|ho shar:|
|00000e50| 20 77 69 6c 6c 20 6e 6f | 74 20 6f 76 65 72 2d 77 | will no|t over-w|
|00000e60| 72 69 74 65 20 65 78 69 | 73 74 69 6e 67 20 66 69 |rite exi|sting fi|
|00000e70| 6c 65 20 22 27 70 74 72 | 65 65 2e 63 27 22 0a 65 |le "'ptr|ee.c'".e|
|00000e80| 6c 73 65 0a 73 65 64 20 | 27 73 2f 5e 09 58 2f 2f |lse.sed |'s/^.X//|
|00000e90| 27 20 3c 3c 20 5c 53 48 | 41 52 5f 45 4f 46 20 3e |' << \SH|AR_EOF >|
|00000ea0| 20 27 70 74 72 65 65 2e | 63 27 0a 09 58 73 74 61 | 'ptree.|c'..Xsta|
|00000eb0| 74 69 63 09 63 68 61 72 | 09 2a 53 63 63 73 69 64 |tic.char|.*Sccsid|
|00000ec0| 20 3d 20 22 28 46 69 6c | 65 3a 20 25 4d 25 20 20 | = "(Fil|e: %M% |
|00000ed0| 56 65 72 3a 20 25 49 25 | 20 20 55 70 64 61 74 65 |Ver: %I%| Update|
|00000ee0| 3a 20 25 47 25 20 25 55 | 25 29 22 3b 0a 09 58 2f |: %G% %U|%)";..X/|
|00000ef0| 2a 2b 46 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*+F*****|********|
|00000f00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000f30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 09 58 2a 0a 09 |********|**..X*..|
|00000f40| 58 2a 20 46 69 6c 65 20 | 6e 61 6d 65 3a 09 70 74 |X* File |name:.pt|
|00000f50| 72 65 65 2e 63 0a 09 58 | 2a 0a 09 58 2a 20 41 75 |ree.c..X|*..X* Au|
|00000f60| 74 68 6f 72 3a 09 50 61 | 75 6c 20 4c 65 77 2c 20 |thor:.Pa|ul Lew, |
|00000f70| 47 65 6e 65 72 61 6c 20 | 53 79 73 74 65 6d 73 20 |General |Systems |
|00000f80| 47 72 6f 75 70 2c 20 49 | 6e 63 2e 20 53 61 6c 65 |Group, I|nc. Sale|
|00000f90| 6d 2c 20 4e 48 0a 09 58 | 2a 20 43 72 65 61 74 65 |m, NH..X|* Create|
|00000fa0| 64 20 61 74 3a 09 30 35 | 2f 32 32 2f 38 38 20 20 |d at:.05|/22/88 |
|00000fb0| 31 36 3a 31 30 20 50 4d | 0a 09 58 2a 20 4c 61 73 |16:10 PM|..X* Las|
|00000fc0| 74 20 75 70 64 61 74 65 | 3a 09 30 35 2f 32 34 2f |t update|:.05/24/|
|00000fd0| 38 38 20 20 30 38 3a 35 | 34 20 50 4d 20 20 28 45 |88 08:5|4 PM (E|
|00000fe0| 64 69 74 69 6f 6e 3a 20 | 32 36 29 0a 09 58 2a 0a |dition: |26)..X*.|
|00000ff0| 09 58 2a 20 44 65 73 63 | 72 69 70 74 69 6f 6e 3a |.X* Desc|ription:|
|00001000| 09 54 68 69 73 20 70 72 | 6f 67 72 61 6d 20 77 69 |.This pr|ogram wi|
|00001010| 6c 6c 20 70 61 72 73 65 | 20 6f 75 74 70 75 74 20 |ll parse| output |
|00001020| 6f 66 20 27 70 73 27 20 | 63 6f 6d 6d 61 6e 64 20 |of 'ps' |command |
|00001030| 61 6e 64 20 64 69 73 70 | 6c 61 79 0a 09 58 2a 09 |and disp|lay..X*.|
|00001040| 09 74 68 65 20 6f 75 74 | 70 75 74 20 77 69 74 68 |.the out|put with|
|00001050| 20 70 72 6f 63 65 73 73 | 20 69 6e 64 65 6e 74 65 | process| indente|
|00001060| 64 20 75 6e 64 65 72 20 | 74 68 65 69 72 20 70 61 |d under |their pa|
|00001070| 72 65 6e 74 73 20 66 6f | 72 0a 09 58 2a 09 09 74 |rents fo|r..X*..t|
|00001080| 68 65 20 65 61 73 79 20 | 69 64 65 6e 74 69 66 69 |he easy |identifi|
|00001090| 63 61 74 69 6f 6e 2e 0a | 09 58 2a 09 0a 09 58 2a |cation..|.X*...X*|
|000010a0| 20 45 6e 76 69 72 6f 6e | 6d 65 6e 74 3a 09 34 2e | Environ|ment:.4.|
|000010b0| 32 20 42 53 44 20 55 6e | 69 78 20 28 50 79 72 61 |2 BSD Un|ix (Pyra|
|000010c0| 6d 69 64 20 4f 53 78 20 | 34 2e 31 29 0a 09 58 2a |mid OSx |4.1)..X*|
|000010d0| 0a 09 58 2a 20 55 73 61 | 67 65 3a 09 70 74 72 65 |..X* Usa|ge:.ptre|
|000010e0| 65 20 5b 48 50 61 63 67 | 78 74 23 5d 0a 09 58 2a |e [HPacg|xt#]..X*|
|000010f0| 0a 09 58 2a 20 55 70 64 | 61 74 65 20 48 69 73 74 |..X* Upd|ate Hist|
|00001100| 6f 72 79 3a 0a 09 58 2a | 0a 09 58 2a 20 20 20 20 |ory:..X*|..X* |
|00001110| 20 20 44 61 74 65 09 09 | 44 65 73 63 72 69 70 74 | Date..|Descript|
|00001120| 69 6f 6e 09 09 09 09 09 | 42 79 0a 09 58 2a 20 20 |ion.....|By..X* |
|00001130| 20 20 2d 2d 2d 2d 2d 2d | 2d 2d 09 2d 2d 2d 2d 2d | ------|--.-----|
|00001140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 09 2d 2d 2d 0a |--------|---.---.|
|00001170| 09 58 2a 20 20 20 20 30 | 35 2f 32 32 2f 38 38 09 |.X* 0|5/22/88.|
|00001180| 49 6e 69 74 69 61 6c 20 | 76 65 72 73 69 6f 6e 09 |Initial |version.|
|00001190| 09 09 09 09 09 4c 65 77 | 0a 09 58 2a 0a 09 58 2a |.....Lew|..X*..X*|
|000011a0| 20 52 6f 75 74 69 6e 65 | 73 20 69 6e 63 6c 75 64 | Routine|s includ|
|000011b0| 65 64 3a 0a 09 58 2a 0a | 09 58 2a 09 62 75 69 6c |ed:..X*.|.X*.buil|
|000011c0| 64 5f 6f 66 66 73 65 74 | 09 62 75 69 6c 64 20 6f |d_offset|.build o|
|000011d0| 66 66 73 65 74 20 66 72 | 6f 6d 20 31 73 74 20 6c |ffset fr|om 1st l|
|000011e0| 69 6e 65 20 6f 66 20 70 | 73 20 6f 75 74 70 75 74 |ine of p|s output|
|000011f0| 09 0a 09 58 2a 09 73 61 | 76 65 5f 61 64 64 72 09 |...X*.sa|ve_addr.|
|00001200| 72 65 74 75 72 6e 20 61 | 64 64 72 20 6f 66 20 53 |return a|ddr of S|
|00001210| 61 76 65 20 61 72 72 61 | 79 20 77 69 74 68 20 70 |ave arra|y with p|
|00001220| 69 64 20 3d 20 70 69 64 | 09 0a 09 58 2a 09 61 64 |id = pid|...X*.ad|
|00001230| 64 5f 63 68 69 6c 64 09 | 61 64 64 20 63 68 69 6c |d_child.|add chil|
|00001240| 64 20 74 6f 20 70 61 72 | 65 6e 74 2c 20 69 66 20 |d to par|ent, if |
|00001250| 65 78 69 73 74 73 2c 20 | 61 64 64 20 74 6f 20 65 |exists, |add to e|
|00001260| 6e 64 20 6f 66 20 73 69 | 62 6c 69 6e 67 0a 09 58 |nd of si|bling..X|
|00001270| 2a 09 70 72 69 6e 74 5f | 72 65 73 75 6c 74 09 64 |*.print_|result.d|
|00001280| 69 73 70 6c 61 79 20 72 | 65 73 75 6c 74 0a 09 58 |isplay r|esult..X|
|00001290| 2a 09 70 72 69 6e 74 5f | 70 72 6f 63 65 73 73 09 |*.print_|process.|
|000012a0| 70 72 69 6e 74 20 61 20 | 67 69 76 65 6e 20 70 72 |print a |given pr|
|000012b0| 6f 63 65 73 73 20 73 75 | 62 2d 74 72 65 65 0a 09 |ocess su|b-tree..|
|000012c0| 58 2a 09 64 75 6d 70 5f | 73 61 76 65 09 64 75 6d |X*.dump_|save.dum|
|000012d0| 70 20 73 61 76 65 20 73 | 74 72 75 63 74 75 72 65 |p save s|tructure|
|000012e0| 20 66 6f 72 20 64 65 62 | 75 67 67 69 6e 67 0a 09 | for deb|ugging..|
|000012f0| 58 2a 09 70 72 6f 63 61 | 72 67 09 09 72 65 74 75 |X*.proca|rg..retu|
|00001300| 72 6e 20 63 6f 6d 6d 61 | 6e 64 20 61 72 67 75 6d |rn comma|nd argum|
|00001310| 65 6e 74 20 66 6f 72 20 | 70 73 20 63 6f 6d 6d 61 |ent for |ps comma|
|00001320| 6e 64 0a 09 58 2a 09 75 | 73 61 67 65 09 09 64 69 |nd..X*.u|sage..di|
|00001330| 73 70 6c 61 79 20 68 65 | 6c 70 20 6d 65 73 73 61 |splay he|lp messa|
|00001340| 67 65 0a 09 58 2a 0a 09 | 58 2a 20 42 75 69 6c 64 |ge..X*..|X* Build|
|00001350| 3a 09 63 63 20 2d 6f 20 | 70 74 72 65 65 20 70 74 |:.cc -o |ptree pt|
|00001360| 72 65 65 2e 63 20 3c 43 | 52 3e 0a 09 58 2a 0a 09 |ree.c <C|R>..X*..|
|00001370| 58 2a 2a 2d 46 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X**-F***|********|
|00001380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0a 09 58 0c |********|***/..X.|
|000013c0| 0a 09 58 23 69 6e 63 6c | 75 64 65 09 3c 73 74 64 |..X#incl|ude.<std|
|000013d0| 69 6f 2e 68 3e 0a 09 58 | 23 69 6e 63 6c 75 64 65 |io.h>..X|#include|
|000013e0| 09 3c 70 77 64 2e 68 3e | 0a 09 58 0a 09 58 23 64 |.<pwd.h>|..X..X#d|
|000013f0| 65 66 69 6e 65 09 59 45 | 53 09 09 31 0a 09 58 23 |efine.YE|S..1..X#|
|00001400| 64 65 66 69 6e 65 09 4e | 4f 09 09 30 0a 09 58 0a |define.N|O..0..X.|
|00001410| 09 58 23 64 65 66 69 6e | 65 09 4d 41 58 4c 49 4e |.X#defin|e.MAXLIN|
|00001420| 45 09 09 32 30 30 0a 09 | 58 0a 09 58 73 74 72 75 |E..200..|X..Xstru|
|00001430| 63 74 09 73 61 76 65 09 | 7b 0a 09 58 09 73 74 72 |ct.save.|{..X.str|
|00001440| 75 63 74 09 73 61 76 65 | 09 2a 73 6f 5f 70 61 72 |uct.save|.*so_par|
|00001450| 65 6e 74 3b 09 2f 2a 20 | 70 6f 69 6e 74 65 72 20 |ent;./* |pointer |
|00001460| 74 6f 20 70 61 72 65 6e | 74 20 2a 2f 0a 09 58 09 |to paren|t */..X.|
|00001470| 73 74 72 75 63 74 09 73 | 61 76 65 09 2a 73 6f 5f |struct.s|ave.*so_|
|00001480| 73 69 62 6c 69 6e 67 3b | 09 2f 2a 20 70 6f 69 6e |sibling;|./* poin|
|00001490| 74 65 72 20 74 6f 20 31 | 73 74 20 73 69 62 6c 69 |ter to 1|st sibli|
|000014a0| 6e 67 20 2a 2f 0a 09 58 | 09 73 74 72 75 63 74 09 |ng */..X|.struct.|
|000014b0| 73 61 76 65 09 2a 73 6f | 5f 63 68 69 6c 64 3b 09 |save.*so|_child;.|
|000014c0| 2f 2a 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 31 73 |/* point|er to 1s|
|000014d0| 74 20 63 68 69 6c 64 20 | 2a 2f 0a 09 58 09 69 6e |t child |*/..X.in|
|000014e0| 74 09 09 73 6f 5f 75 69 | 64 3b 09 09 2f 2a 20 75 |t..so_ui|d;../* u|
|000014f0| 73 65 72 20 49 44 20 2a | 2f 0a 09 58 09 63 68 61 |ser ID *|/..X.cha|
|00001500| 72 09 09 73 6f 5f 6e 61 | 6d 65 5b 39 5d 3b 09 2f |r..so_na|me[9];./|
|00001510| 2a 20 75 73 65 72 20 6e | 61 6d 65 20 2a 2f 0a 09 |* user n|ame */..|
|00001520| 58 09 69 6e 74 09 09 73 | 6f 5f 70 69 64 3b 09 09 |X.int..s|o_pid;..|
|00001530| 2f 2a 20 70 69 64 20 2a | 2f 0a 09 58 09 69 6e 74 |/* pid *|/..X.int|
|00001540| 09 09 73 6f 5f 70 70 69 | 64 3b 09 2f 2a 20 70 61 |..so_ppi|d;./* pa|
|00001550| 72 65 6e 74 20 70 69 64 | 20 2a 2f 0a 09 58 09 63 |rent pid| */..X.c|
|00001560| 68 61 72 09 09 2a 73 6f | 5f 62 75 66 66 65 72 3b |har..*so|_buffer;|
|00001570| 09 2f 2a 20 70 6f 69 6e | 74 65 72 20 74 6f 20 70 |./* poin|ter to p|
|00001580| 73 20 6f 75 74 70 75 74 | 20 2a 2f 0a 09 58 09 7d |s output| */..X.}|
|00001590| 20 53 61 76 65 20 5b 4d | 41 58 4c 49 4e 45 5d 3b | Save [M|AXLINE];|
|000015a0| 0a 09 58 0a 09 58 63 68 | 61 72 09 2a 56 65 72 73 |..X..Xch|ar.*Vers|
|000015b0| 69 6f 6e 20 3d 20 22 56 | 65 72 73 69 6f 6e 20 31 |ion = "V|ersion 1|
|000015c0| 2e 30 20 20 30 35 2f 32 | 34 2f 38 38 20 20 30 30 |.0 05/2|4/88 00|
|000015d0| 3a 35 31 20 41 4d 22 3b | 0a 09 58 63 68 61 72 09 |:51 AM";|..Xchar.|
|000015e0| 2a 41 75 74 68 6f 72 20 | 3d 20 22 50 61 75 6c 20 |*Author |= "Paul |
|000015f0| 4c 65 77 2c 20 6c 65 77 | 40 67 73 67 2e 75 75 63 |Lew, lew|@gsg.uuc|
|00001600| 70 22 3b 0a 09 58 0a 09 | 58 69 6e 74 09 4c 69 6e |p";..X..|Xint.Lin|
|00001610| 65 3b 09 09 09 09 2f 2a | 20 23 20 6f 66 20 6f 75 |e;..../*| # of ou|
|00001620| 74 70 75 74 20 6c 69 6e | 65 20 66 72 6f 6d 20 70 |tput lin|e from p|
|00001630| 73 20 2a 2f 0a 09 58 69 | 6e 74 09 50 72 69 6e 74 |s */..Xi|nt.Print|
|00001640| 5f 6d 65 20 3d 20 4e 4f | 3b 09 09 09 2f 2a 20 69 |_me = NO|;.../* i|
|00001650| 66 20 4e 4f 2c 20 64 6f | 6e 74 20 70 72 69 6e 74 |f NO, do|nt print|
|00001660| 20 6d 79 20 70 72 6f 63 | 65 73 73 65 73 20 2a 2f | my proc|esses */|
|00001670| 0a 09 58 69 6e 74 09 50 | 72 69 6e 74 5f 70 69 64 |..Xint.P|rint_pid|
|00001680| 20 3d 20 4e 4f 3b 09 09 | 09 2f 2a 20 69 66 20 59 | = NO;..|./* if Y|
|00001690| 45 53 2c 20 6f 75 74 70 | 75 74 20 50 49 44 20 2a |ES, outp|ut PID *|
|000016a0| 2f 0a 09 58 63 68 61 72 | 09 43 6f 6d 6d 61 6e 64 |/..Xchar|.Command|
|000016b0| 20 5b 38 30 5d 3b 0a 09 | 58 69 6e 74 09 4d 79 5f | [80];..|Xint.My_|
|000016c0| 70 69 64 3b 09 09 09 09 | 2f 2a 20 6d 79 20 70 72 |pid;....|/* my pr|
|000016d0| 6f 63 65 73 73 20 69 64 | 20 2a 2f 0a 09 58 0a 09 |ocess id| */..X..|
|000016e0| 58 69 6e 74 09 55 69 64 | 5f 6f 66 66 73 65 74 3b |Xint.Uid|_offset;|
|000016f0| 0a 09 58 69 6e 74 09 50 | 69 64 5f 6f 66 66 73 65 |..Xint.P|id_offse|
|00001700| 74 3b 0a 09 58 69 6e 74 | 09 50 70 69 64 5f 6f 66 |t;..Xint|.Ppid_of|
|00001710| 66 73 65 74 3b 0a 09 58 | 69 6e 74 09 45 6e 64 5f |fset;..X|int.End_|
|00001720| 70 70 69 64 3b 0a 09 58 | 69 6e 74 09 53 74 61 74 |ppid;..X|int.Stat|
|00001730| 5f 6f 66 66 73 65 74 3b | 0a 09 58 69 6e 74 09 54 |_offset;|..Xint.T|
|00001740| 79 79 5f 6f 66 66 73 65 | 74 3b 0a 09 58 69 6e 74 |yy_offse|t;..Xint|
|00001750| 09 43 6f 6d 6d 61 6e 64 | 5f 6f 66 66 73 65 74 3b |.Command|_offset;|
|00001760| 0a 09 58 0a 09 58 73 74 | 72 75 63 74 09 73 61 76 |..X..Xst|ruct.sav|
|00001770| 65 09 2a 73 61 76 65 5f | 61 64 64 72 20 28 29 3b |e.*save_|addr ();|
|00001780| 0a 09 58 63 68 61 72 09 | 09 2a 70 72 6f 63 61 72 |..Xchar.|.*procar|
|00001790| 67 20 28 29 3b 0a 09 58 | 0a 09 58 65 78 74 65 72 |g ();..X|..Xexter|
|000017a0| 6e 09 46 49 4c 45 09 2a | 70 6f 70 65 6e 20 28 29 |n.FILE.*|popen ()|
|000017b0| 3b 0a 09 58 65 78 74 65 | 72 6e 09 63 68 61 72 09 |;..Xexte|rn.char.|
|000017c0| 2a 6d 61 6c 6c 6f 63 20 | 28 29 2c 20 2a 63 61 6c |*malloc |(), *cal|
|000017d0| 6c 6f 63 20 28 29 3b 0a | 09 58 0c 0a 09 58 2f 2a |loc ();.|.X...X/*|
|000017e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000017f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 30 35 2f |--------|-----05/|
|00001820| 32 33 2f 38 38 2d 2b 0a | 09 58 7c 09 09 09 09 09 |23/88-+.|.X|.....|
|00001830| 09 09 09 09 7c 0a 09 58 | 7c 09 20 20 4d 20 61 20 |....|..X||. M a |
|00001840| 69 20 6e 20 20 20 20 20 | 52 20 6f 20 75 20 74 20 |i n |R o u t |
|00001850| 69 20 6e 20 65 20 20 20 | 20 20 53 20 74 20 61 20 |i n e | S t a |
|00001860| 72 20 74 20 73 20 20 20 | 20 20 48 20 65 20 72 20 |r t s | H e r |
|00001870| 65 09 09 7c 0a 09 58 7c | 09 09 09 09 09 09 09 09 |e..|..X||........|
|00001880| 09 7c 0a 09 58 2b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.|..X+--|--------|
|00001890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0a 09 |--------|----*/..|
|000018d0| 58 6d 61 69 6e 20 28 61 | 72 67 63 2c 20 61 72 67 |Xmain (a|rgc, arg|
|000018e0| 76 29 0a 09 58 69 6e 74 | 09 61 72 67 63 3b 0a 09 |v)..Xint|.argc;..|
|000018f0| 58 63 68 61 72 09 2a 2a | 61 72 67 76 3b 0a 09 58 |Xchar.**|argv;..X|
|00001900| 09 7b 0a 09 58 09 46 49 | 4c 45 09 09 09 2a 70 66 |.{..X.FI|LE...*pf|
|00001910| 64 3b 09 2f 2a 20 66 69 | 6c 65 20 64 65 73 63 72 |d;./* fi|le descr|
|00001920| 69 70 74 6f 72 20 66 6f | 72 20 70 6f 70 65 6e 28 |iptor fo|r popen(|
|00001930| 29 20 2a 2f 0a 09 58 09 | 63 68 61 72 09 09 09 2a |) */..X.|char...*|
|00001940| 70 3b 09 2f 2a 20 74 65 | 6d 70 20 70 6f 69 6e 74 |p;./* te|mp point|
|00001950| 65 72 20 74 6f 20 6d 61 | 6c 6c 6f 63 65 64 20 62 |er to ma|lloced b|
|00001960| 75 66 66 65 72 20 2a 2f | 0a 09 58 09 72 65 67 69 |uffer */|..X.regi|
|00001970| 73 74 65 72 20 69 6e 74 | 09 09 69 3b 09 2f 2a 20 |ster int|..i;./* |
|00001980| 6c 6f 6f 70 20 69 6e 64 | 65 78 20 2a 2f 0a 09 58 |loop ind|ex */..X|
|00001990| 09 72 65 67 69 73 74 65 | 72 20 73 74 72 75 63 74 |.registe|r struct|
|000019a0| 09 73 61 76 65 09 2a 73 | 76 70 3b 0a 09 58 0a 09 |.save.*s|vp;..X..|
|000019b0| 58 09 70 20 3d 20 70 72 | 6f 63 61 72 67 20 28 61 |X.p = pr|ocarg (a|
|000019c0| 72 67 63 2c 20 61 72 67 | 76 29 3b 0a 09 58 09 73 |rgc, arg|v);..X.s|
|000019d0| 70 72 69 6e 74 66 20 28 | 43 6f 6d 6d 61 6e 64 2c |printf (|Command,|
|000019e0| 20 22 70 73 20 6c 77 25 | 73 22 2c 20 70 29 3b 0a | "ps lw%|s", p);.|
|000019f0| 09 58 09 69 66 20 28 28 | 70 66 64 20 3d 20 70 6f |.X.if ((|pfd = po|
|00001a00| 70 65 6e 20 28 43 6f 6d | 6d 61 6e 64 2c 20 22 72 |pen (Com|mand, "r|
|00001a10| 22 29 29 20 3d 3d 20 4e | 55 4c 4c 29 20 7b 0a 09 |")) == N|ULL) {..|
|00001a20| 58 09 09 66 70 72 69 6e | 74 66 20 28 73 74 64 65 |X..fprin|tf (stde|
|00001a30| 72 72 2c 20 22 63 61 6e | 20 6e 6f 74 20 65 78 65 |rr, "can| not exe|
|00001a40| 63 74 75 72 65 20 70 73 | 5c 6e 22 29 3b 0a 09 58 |cture ps|\n");..X|
|00001a50| 09 09 65 78 69 74 20 28 | 31 29 3b 0a 09 58 09 09 |..exit (|1);..X..|
|00001a60| 7d 0a 09 58 09 66 6f 72 | 20 28 4c 69 6e 65 3d 30 |}..X.for| (Line=0|
|00001a70| 3b 20 4c 69 6e 65 3c 4d | 41 58 4c 49 4e 45 3b 20 |; Line<M|AXLINE; |
|00001a80| 4c 69 6e 65 2b 2b 29 20 | 7b 0a 09 58 09 09 70 20 |Line++) |{..X..p |
|00001a90| 3d 20 6d 61 6c 6c 6f 63 | 20 28 42 55 46 53 49 5a |= malloc| (BUFSIZ|
|00001aa0| 29 3b 0a 09 58 09 09 69 | 66 20 28 70 20 3d 3d 20 |);..X..i|f (p == |
|00001ab0| 4e 55 4c 4c 29 20 7b 0a | 09 58 09 09 09 70 65 72 |NULL) {.|.X...per|
|00001ac0| 72 6f 72 20 28 22 6d 61 | 6c 6c 6f 63 22 29 3b 0a |ror ("ma|lloc");.|
|00001ad0| 09 58 09 09 09 65 78 69 | 74 20 28 31 29 3b 0a 09 |.X...exi|t (1);..|
|00001ae0| 58 09 09 09 7d 0a 09 58 | 09 09 69 66 20 28 66 67 |X...}..X|..if (fg|
|00001af0| 65 74 73 20 28 70 2c 20 | 42 55 46 53 49 5a 2c 20 |ets (p, |BUFSIZ, |
|00001b00| 70 66 64 29 20 3d 3d 20 | 4e 55 4c 4c 29 20 62 72 |pfd) == |NULL) br|
|00001b10| 65 61 6b 3b 0a 09 58 09 | 09 53 61 76 65 5b 4c 69 |eak;..X.|.Save[Li|
|00001b20| 6e 65 5d 2e 73 6f 5f 62 | 75 66 66 65 72 20 3d 20 |ne].so_b|uffer = |
|00001b30| 70 3b 0a 09 58 09 09 69 | 66 20 28 4c 69 6e 65 20 |p;..X..i|f (Line |
|00001b40| 3d 3d 20 30 29 20 62 75 | 69 6c 64 5f 6f 66 66 73 |== 0) bu|ild_offs|
|00001b50| 65 74 20 28 70 29 3b 0a | 09 58 09 09 65 6c 73 65 |et (p);.|.X..else|
|00001b60| 09 09 09 2f 2a 20 70 72 | 65 76 65 6e 74 20 43 50 |.../* pr|event CP|
|00001b70| 20 64 61 74 61 20 62 65 | 69 6e 67 20 70 72 6f 63 | data be|ing proc|
|00001b80| 65 73 73 65 64 20 2a 2f | 0a 09 58 09 09 09 70 5b |essed */|..X...p[|
|00001b90| 45 6e 64 5f 70 70 69 64 | 5d 20 3d 20 27 5c 30 27 |End_ppid|] = '\0'|
|00001ba0| 3b 0a 09 58 09 09 7d 0a | 09 58 09 70 63 6c 6f 73 |;..X..}.|.X.pclos|
|00001bb0| 65 20 28 70 66 64 29 3b | 0a 09 58 09 66 6f 72 20 |e (pfd);|..X.for |
|00001bc0| 28 69 3d 31 3b 20 69 3c | 4c 69 6e 65 3b 20 69 2b |(i=1; i<|Line; i+|
|00001bd0| 2b 29 20 7b 0a 09 58 09 | 09 73 74 72 75 63 74 09 |+) {..X.|.struct.|
|00001be0| 70 61 73 73 77 64 09 2a | 70 77 70 3b 0a 09 58 09 |passwd.*|pwp;..X.|
|00001bf0| 09 73 76 70 20 3d 20 26 | 53 61 76 65 5b 69 5d 3b |.svp = &|Save[i];|
|00001c00| 0a 09 58 09 09 73 76 70 | 2d 3e 73 6f 5f 70 69 64 |..X..svp|->so_pid|
|00001c10| 20 20 3d 20 61 74 6f 69 | 20 28 26 73 76 70 2d 3e | = atoi| (&svp->|
|00001c20| 73 6f 5f 62 75 66 66 65 | 72 5b 50 69 64 5f 6f 66 |so_buffe|r[Pid_of|
|00001c30| 66 73 65 74 5d 29 3b 0a | 09 58 09 09 73 76 70 2d |fset]);.|.X..svp-|
|00001c40| 3e 73 6f 5f 70 70 69 64 | 20 3d 20 61 74 6f 69 20 |>so_ppid| = atoi |
|00001c50| 28 26 73 76 70 2d 3e 73 | 6f 5f 62 75 66 66 65 72 |(&svp->s|o_buffer|
|00001c60| 5b 50 70 69 64 5f 6f 66 | 66 73 65 74 5d 29 3b 0a |[Ppid_of|fset]);.|
|00001c70| 09 58 09 09 73 76 70 2d | 3e 73 6f 5f 75 69 64 20 |.X..svp-|>so_uid |
|00001c80| 20 3d 20 61 74 6f 69 20 | 28 26 73 76 70 2d 3e 73 | = atoi |(&svp->s|
|00001c90| 6f 5f 62 75 66 66 65 72 | 5b 55 69 64 5f 6f 66 66 |o_buffer|[Uid_off|
|00001ca0| 73 65 74 5d 29 3b 0a 09 | 58 09 09 70 77 70 20 3d |set]);..|X..pwp =|
|00001cb0| 20 67 65 74 70 77 75 69 | 64 20 28 73 76 70 2d 3e | getpwui|d (svp->|
|00001cc0| 73 6f 5f 75 69 64 29 3b | 0a 09 58 09 09 73 74 72 |so_uid);|..X..str|
|00001cd0| 6e 63 70 79 20 28 73 76 | 70 2d 3e 73 6f 5f 6e 61 |ncpy (sv|p->so_na|
|00001ce0| 6d 65 2c 20 70 77 70 2d | 3e 70 77 5f 6e 61 6d 65 |me, pwp-|>pw_name|
|00001cf0| 2c 20 38 29 3b 0a 09 58 | 09 09 7d 0a 09 58 09 66 |, 8);..X|..}..X.f|
|00001d00| 6f 72 20 28 69 3d 31 3b | 20 69 3c 4c 69 6e 65 3b |or (i=1;| i<Line;|
|00001d10| 20 69 2b 2b 29 20 7b 0a | 09 58 09 09 73 74 72 75 | i++) {.|.X..stru|
|00001d20| 63 74 09 73 61 76 65 09 | 2a 70 3b 0a 09 58 09 09 |ct.save.|*p;..X..|
|00001d30| 73 76 70 20 3d 20 26 53 | 61 76 65 5b 69 5d 3b 0a |svp = &S|ave[i];.|
|00001d40| 09 58 09 09 73 76 70 2d | 3e 73 6f 5f 70 61 72 65 |.X..svp-|>so_pare|
|00001d50| 6e 74 20 3d 20 70 20 3d | 20 73 61 76 65 5f 61 64 |nt = p =| save_ad|
|00001d60| 64 72 20 28 73 76 70 2d | 3e 73 6f 5f 70 70 69 64 |dr (svp-|>so_ppid|
|00001d70| 29 3b 0a 09 58 09 09 69 | 66 20 28 70 29 20 7b 0a |);..X..i|f (p) {.|
|00001d80| 09 58 09 09 09 61 64 64 | 5f 63 68 69 6c 64 20 28 |.X...add|_child (|
|00001d90| 70 2c 20 73 76 70 29 3b | 0a 09 58 09 09 09 7d 0a |p, svp);|..X...}.|
|00001da0| 09 58 09 09 7d 0a 09 58 | 09 70 72 69 6e 74 5f 72 |.X..}..X|.print_r|
|00001db0| 65 73 75 6c 74 20 28 29 | 3b 0a 09 58 23 69 66 64 |esult ()|;..X#ifd|
|00001dc0| 65 66 09 44 45 42 55 47 | 0a 09 58 09 64 75 6d 70 |ef.DEBUG|..X.dump|
|00001dd0| 5f 73 61 76 65 20 28 29 | 3b 09 0a 09 58 23 65 6e |_save ()|;...X#en|
|00001de0| 64 69 66 0a 09 58 09 65 | 78 69 74 20 28 30 29 3b |dif..X.e|xit (0);|
|00001df0| 0a 09 58 09 7d 0a 09 58 | 0c 0a 09 58 2f 2a 2d 2d |..X.}..X|...X/*--|
|00001e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 30 35 2f 32 33 |--------|---05/23|
|00001e40| 2f 38 38 2d 2b 0a 09 58 | 7c 09 09 09 09 09 09 09 |/88-+..X||.......|
|00001e50| 09 09 7c 0a 09 58 7c 09 | 20 62 75 69 6c 64 5f 6f |..|..X|.| build_o|
|00001e60| 66 66 73 65 74 20 3a 20 | 62 75 69 6c 64 20 6f 66 |ffset : |build of|
|00001e70| 66 73 65 74 20 66 72 6f | 6d 20 31 73 74 20 6c 69 |fset fro|m 1st li|
|00001e80| 6e 65 20 6f 66 20 70 73 | 20 6f 75 74 70 75 74 09 |ne of ps| output.|
|00001e90| 09 7c 0a 09 58 7c 09 09 | 09 09 09 09 09 09 09 7c |.|..X|..|.......||
|00001ea0| 0a 09 58 2b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..X+----|--------|
|00001eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0a 09 58 62 |--------|--*/..Xb|
|00001ef0| 75 69 6c 64 5f 6f 66 66 | 73 65 74 20 28 62 75 66 |uild_off|set (buf|
|00001f00| 29 0a 09 58 63 68 61 72 | 09 2a 62 75 66 3b 09 09 |)..Xchar|.*buf;..|
|00001f10| 09 09 2f 2a 20 68 65 61 | 64 65 72 20 6c 69 6e 65 |../* hea|der line|
|00001f20| 20 2a 2f 0a 09 58 09 7b | 0a 09 58 09 63 68 61 72 | */..X.{|..X.char|
|00001f30| 09 09 2a 70 20 3d 20 62 | 75 66 3b 0a 09 58 09 66 |..*p = b|uf;..X.f|
|00001f40| 6f 72 20 28 70 3d 62 75 | 66 3b 20 2a 70 20 21 3d |or (p=bu|f; *p !=|
|00001f50| 20 27 5c 30 27 3b 20 70 | 2b 2b 29 20 7b 0a 09 58 | '\0'; p|++) {..X|
|00001f60| 09 09 69 66 20 20 20 20 | 20 20 28 73 74 72 6e 63 |..if | (strnc|
|00001f70| 6d 70 20 28 22 55 49 44 | 22 2c 20 20 20 20 70 2c |mp ("UID|", p,|
|00001f80| 20 33 29 20 3d 3d 20 30 | 29 20 55 69 64 5f 6f 66 | 3) == 0|) Uid_of|
|00001f90| 66 73 65 74 20 20 20 20 | 20 3d 20 70 2d 62 75 66 |fset | = p-buf|
|00001fa0| 3b 0a 09 58 09 09 65 6c | 73 65 20 69 66 20 28 73 |;..X..el|se if (s|
|00001fb0| 74 72 6e 63 6d 70 20 28 | 22 20 20 50 49 44 20 22 |trncmp (|" PID "|
|00001fc0| 2c 20 70 2c 20 36 29 20 | 3d 3d 20 30 29 20 50 69 |, p, 6) |== 0) Pi|
|00001fd0| 64 5f 6f 66 66 73 65 74 | 20 20 20 20 20 3d 20 70 |d_offset| = p|
|00001fe0| 2d 62 75 66 3b 0a 09 58 | 09 09 65 6c 73 65 20 69 |-buf;..X|..else i|
|00001ff0| 66 20 28 73 74 72 6e 63 | 6d 70 20 28 22 20 50 50 |f (strnc|mp (" PP|
|00002000| 49 44 20 22 2c 20 70 2c | 20 36 29 20 3d 3d 20 30 |ID ", p,| 6) == 0|
|00002010| 29 20 50 70 69 64 5f 6f | 66 66 73 65 74 20 20 20 |) Ppid_o|ffset |
|00002020| 20 3d 20 70 2d 62 75 66 | 3b 0a 09 58 09 09 65 6c | = p-buf|;..X..el|
|00002030| 73 65 20 69 66 20 28 73 | 74 72 6e 63 6d 70 20 28 |se if (s|trncmp (|
|00002040| 22 53 54 41 54 22 2c 20 | 20 20 70 2c 20 34 29 20 |"STAT", | p, 4) |
|00002050| 3d 3d 20 30 29 20 53 74 | 61 74 5f 6f 66 66 73 65 |== 0) St|at_offse|
|00002060| 74 20 20 20 20 3d 20 70 | 2d 62 75 66 3b 0a 09 58 |t = p|-buf;..X|
|00002070| 09 09 65 6c 73 65 20 69 | 66 20 28 73 74 72 6e 63 |..else i|f (strnc|
|00002080| 6d 70 20 28 22 54 54 59 | 22 2c 20 20 20 20 70 2c |mp ("TTY|", p,|
|00002090| 20 33 29 20 3d 3d 20 30 | 29 20 54 79 79 5f 6f 66 | 3) == 0|) Tyy_of|
|000020a0| 66 73 65 74 20 20 20 20 | 20 3d 20 70 2d 62 75 66 |fset | = p-buf|
|000020b0| 3b 0a 09 58 09 09 65 6c | 73 65 20 69 66 20 28 73 |;..X..el|se if (s|
|000020c0| 74 72 6e 63 6d 70 20 28 | 22 43 4f 4d 4d 41 4e 44 |trncmp (|"COMMAND|
|000020d0| 22 2c 70 2c 20 37 29 20 | 3d 3d 20 30 29 20 43 6f |",p, 7) |== 0) Co|
|000020e0| 6d 6d 61 6e 64 5f 6f 66 | 66 73 65 74 20 3d 20 70 |mmand_of|fset = p|
|000020f0| 2d 62 75 66 3b 0a 09 58 | 09 09 7d 0a 09 58 09 45 |-buf;..X|..}..X.E|
|00002100| 6e 64 5f 70 70 69 64 20 | 3d 20 50 70 69 64 5f 6f |nd_ppid |= Ppid_o|
|00002110| 66 66 73 65 74 20 2b 20 | 35 3b 0a 09 58 09 7d 0a |ffset + |5;..X.}.|
|00002120| 09 58 0a 09 58 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X..X/*-|--------|
|00002130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002160| 2d 2d 2d 2d 30 35 2f 32 | 33 2f 38 38 2d 2b 0a 09 |----05/2|3/88-+..|
|00002170| 58 7c 09 09 09 09 09 09 | 09 09 09 7c 0a 09 58 7c |X|......|...|..X||
|00002180| 09 20 20 20 73 61 76 65 | 5f 61 64 64 72 20 3a 20 |. save|_addr : |
|00002190| 72 65 74 75 72 6e 20 61 | 64 64 72 20 6f 66 20 53 |return a|ddr of S|
|000021a0| 61 76 65 20 61 72 72 61 | 79 20 77 69 74 68 20 70 |ave arra|y with p|
|000021b0| 69 64 20 3d 20 70 69 64 | 09 09 7c 0a 09 58 7c 09 |id = pid|..|..X|.|
|000021c0| 09 09 09 09 09 09 09 09 | 7c 0a 09 58 2b 2d 2d 2d |........||..X+---|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002210| 2d 2d 2d 2a 2f 0a 09 58 | 73 74 72 75 63 74 09 73 |---*/..X|struct.s|
|00002220| 61 76 65 09 2a 0a 09 58 | 73 61 76 65 5f 61 64 64 |ave.*..X|save_add|
|00002230| 72 20 28 70 69 64 29 0a | 09 58 69 6e 74 09 70 69 |r (pid).|.Xint.pi|
|00002240| 64 3b 0a 09 58 09 7b 0a | 09 58 09 72 65 67 69 73 |d;..X.{.|.X.regis|
|00002250| 74 65 72 20 69 6e 74 09 | 69 3b 0a 09 58 09 66 6f |ter int.|i;..X.fo|
|00002260| 72 20 28 69 3d 31 3b 20 | 69 3c 4c 69 6e 65 3b 20 |r (i=1; |i<Line; |
|00002270| 69 2b 2b 29 20 7b 0a 09 | 58 09 09 69 66 20 28 53 |i++) {..|X..if (S|
|00002280| 61 76 65 5b 69 5d 2e 73 | 6f 5f 70 69 64 20 3d 3d |ave[i].s|o_pid ==|
|00002290| 20 70 69 64 29 20 72 65 | 74 75 72 6e 20 28 26 53 | pid) re|turn (&S|
|000022a0| 61 76 65 5b 69 5d 29 3b | 0a 09 58 09 09 7d 0a 09 |ave[i]);|..X..}..|
|000022b0| 58 09 72 65 74 75 72 6e | 20 28 4e 55 4c 4c 29 3b |X.return| (NULL);|
|000022c0| 09 09 09 2f 2a 20 6e 6f | 74 20 66 6f 75 6e 64 20 |.../* no|t found |
|000022d0| 2a 2f 0a 09 58 09 7d 0a | 09 58 0a 09 58 2f 2a 2d |*/..X.}.|.X..X/*-|
|000022e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 30 35 2f 32 |--------|----05/2|
|00002320| 33 2f 38 38 2d 2b 0a 09 | 58 7c 09 09 09 09 09 09 |3/88-+..|X|......|
|00002330| 09 09 09 7c 0a 09 58 7c | 20 20 61 64 64 5f 63 68 |...|..X|| add_ch|
|00002340| 69 6c 64 20 3a 20 61 64 | 64 20 63 68 69 6c 64 20 |ild : ad|d child |
|00002350| 74 6f 20 70 61 72 65 6e | 74 2c 20 69 66 20 65 78 |to paren|t, if ex|
|00002360| 69 73 74 73 2c 20 61 64 | 64 20 74 6f 20 65 6e 64 |ists, ad|d to end|
|00002370| 20 6f 66 20 73 69 62 6c | 69 6e 67 09 7c 0a 09 58 | of sibl|ing.|..X|
|00002380| 7c 09 09 09 09 09 09 09 | 09 09 7c 0a 09 58 2b 2d ||.......|..|..X+-|
|00002390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023d0| 2d 2d 2d 2d 2d 2a 2f 0a | 09 58 61 64 64 5f 63 68 |-----*/.|.Xadd_ch|
|000023e0| 69 6c 64 20 28 70 61 72 | 65 6e 74 2c 20 63 68 69 |ild (par|ent, chi|
|000023f0| 6c 64 29 0a 09 58 73 74 | 72 75 63 74 09 73 61 76 |ld)..Xst|ruct.sav|
|00002400| 65 09 2a 70 61 72 65 6e | 74 3b 0a 09 58 73 74 72 |e.*paren|t;..Xstr|
|00002410| 75 63 74 09 73 61 76 65 | 09 2a 63 68 69 6c 64 3b |uct.save|.*child;|
|00002420| 0a 09 58 09 7b 0a 09 58 | 09 69 66 20 28 70 61 72 |..X.{..X|.if (par|
|00002430| 65 6e 74 2d 3e 73 6f 5f | 63 68 69 6c 64 20 3d 3d |ent->so_|child ==|
|00002440| 20 4e 55 4c 4c 29 20 7b | 0a 09 58 09 09 70 61 72 | NULL) {|..X..par|
|00002450| 65 6e 74 2d 3e 73 6f 5f | 63 68 69 6c 64 20 3d 20 |ent->so_|child = |
|00002460| 63 68 69 6c 64 3b 0a 09 | 58 09 09 7d 0a 09 58 09 |child;..|X..}..X.|
|00002470| 65 6c 73 65 09 7b 0a 09 | 58 09 09 73 74 72 75 63 |else.{..|X..struc|
|00002480| 74 09 73 61 76 65 09 2a | 74 70 20 3d 20 70 61 72 |t.save.*|tp = par|
|00002490| 65 6e 74 2d 3e 73 6f 5f | 63 68 69 6c 64 3b 0a 09 |ent->so_|child;..|
|000024a0| 58 09 09 77 68 69 6c 65 | 20 28 74 70 2d 3e 73 6f |X..while| (tp->so|
|000024b0| 5f 73 69 62 6c 69 6e 67 | 20 21 3d 20 4e 55 4c 4c |_sibling| != NULL|
|000024c0| 29 20 74 70 20 3d 20 74 | 70 2d 3e 73 6f 5f 73 69 |) tp = t|p->so_si|
|000024d0| 62 6c 69 6e 67 3b 0a 09 | 58 09 09 74 70 2d 3e 73 |bling;..|X..tp->s|
|000024e0| 6f 5f 73 69 62 6c 69 6e | 67 20 3d 20 63 68 69 6c |o_siblin|g = chil|
|000024f0| 64 3b 0a 09 58 09 09 7d | 0a 09 58 09 63 68 69 6c |d;..X..}|..X.chil|
|00002500| 64 2d 3e 73 6f 5f 73 69 | 62 6c 69 6e 67 20 3d 20 |d->so_si|bling = |
|00002510| 4e 55 4c 4c 3b 0a 09 58 | 09 7d 0a 09 58 0c 0a 09 |NULL;..X|.}..X...|
|00002520| 58 2f 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X/*-----|--------|
|00002530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002560| 30 35 2f 32 33 2f 38 38 | 2d 2b 0a 09 58 7c 09 09 |05/23/88|-+..X|..|
|00002570| 09 09 09 09 09 09 09 7c | 0a 09 58 7c 09 09 20 20 |.......||..X|.. |
|00002580| 20 20 20 20 70 72 69 6e | 74 5f 72 65 73 75 6c 74 | prin|t_result|
|00002590| 20 3a 20 64 69 73 70 6c | 61 79 20 72 65 73 75 6c | : displ|ay resul|
|000025a0| 74 09 09 09 7c 0a 09 58 | 7c 09 09 09 09 09 09 09 |t...|..X||.......|
|000025b0| 09 09 7c 0a 09 58 2b 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..|..X+-|--------|
|000025c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0a |--------|-----*/.|
|00002600| 09 58 70 72 69 6e 74 5f | 72 65 73 75 6c 74 20 28 |.Xprint_|result (|
|00002610| 29 0a 09 58 09 7b 0a 09 | 58 09 72 65 67 69 73 74 |)..X.{..|X.regist|
|00002620| 65 72 20 69 6e 74 09 69 | 3b 0a 09 58 09 73 74 72 |er int.i|;..X.str|
|00002630| 75 63 74 09 73 61 76 65 | 09 2a 73 76 70 3b 0a 09 |uct.save|.*svp;..|
|00002640| 58 0a 09 58 09 4d 79 5f | 70 69 64 20 3d 20 67 65 |X..X.My_|pid = ge|
|00002650| 74 70 69 64 20 28 29 3b | 0a 09 58 09 70 72 69 6e |tpid ();|..X.prin|
|00002660| 74 66 20 28 22 25 73 20 | 20 20 20 55 53 45 52 20 |tf ("%s | USER |
|00002670| 25 73 22 2c 20 50 72 69 | 6e 74 5f 70 69 64 20 3f |%s", Pri|nt_pid ?|
|00002680| 20 22 20 20 50 49 44 20 | 22 20 3a 20 22 22 2c 0a | " PID |" : "",.|
|00002690| 09 58 09 09 26 53 61 76 | 65 5b 30 5d 2e 73 6f 5f |.X..&Sav|e[0].so_|
|000026a0| 62 75 66 66 65 72 5b 53 | 74 61 74 5f 6f 66 66 73 |buffer[S|tat_offs|
|000026b0| 65 74 5d 29 3b 0a 09 58 | 09 66 6f 72 20 28 69 3d |et]);..X|.for (i=|
|000026c0| 31 3b 20 69 3c 4c 69 6e | 65 3b 20 69 2b 2b 29 20 |1; i<Lin|e; i++) |
|000026d0| 7b 0a 09 58 09 09 73 76 | 70 20 3d 20 26 53 61 76 |{..X..sv|p = &Sav|
|000026e0| 65 5b 69 5d 3b 0a 09 58 | 09 09 69 66 20 28 73 76 |e[i];..X|..if (sv|
|000026f0| 70 2d 3e 73 6f 5f 70 61 | 72 65 6e 74 20 21 3d 20 |p->so_pa|rent != |
|00002700| 4e 55 4c 4c 29 20 7b 0a | 09 58 09 09 09 69 66 20 |NULL) {.|.X...if |
|00002710| 28 73 76 70 2d 3e 73 6f | 5f 70 69 64 20 21 3d 20 |(svp->so|_pid != |
|00002720| 30 29 0a 09 58 09 09 09 | 20 20 63 6f 6e 74 69 6e |0)..X...| contin|
|00002730| 75 65 3b 0a 09 58 09 09 | 09 7d 0a 09 58 09 09 70 |ue;..X..|.}..X..p|
|00002740| 72 69 6e 74 5f 70 72 6f | 63 65 73 73 20 28 30 2c |rint_pro|cess (0,|
|00002750| 20 73 76 70 29 3b 0a 09 | 58 09 09 7d 0a 09 58 09 | svp);..|X..}..X.|
|00002760| 7d 0a 09 58 0a 09 58 2f | 2a 2d 2d 2d 2d 2d 2d 2d |}..X..X/|*-------|
|00002770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027a0| 2d 2d 2d 2d 2d 2d 30 35 | 2f 32 33 2f 38 38 2d 2b |------05|/23/88-+|
|000027b0| 0a 09 58 7c 09 09 09 09 | 09 09 09 09 09 7c 0a 09 |..X|....|.....|..|
|000027c0| 58 7c 09 20 20 20 20 20 | 20 70 72 69 6e 74 5f 70 |X|. | print_p|
|000027d0| 72 6f 63 65 73 73 20 3a | 20 70 72 69 6e 74 20 61 |rocess :| print a|
|000027e0| 20 67 69 76 65 6e 20 70 | 72 6f 63 65 73 73 20 73 | given p|rocess s|
|000027f0| 75 62 2d 74 72 65 65 09 | 09 7c 0a 09 58 7c 09 09 |ub-tree.|.|..X|..|
|00002800| 09 09 09 09 09 09 09 7c | 0a 09 58 2b 2d 2d 2d 2d |.......||..X+----|
|00002810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002850| 2d 2d 2a 2f 0a 09 58 70 | 72 69 6e 74 5f 70 72 6f |--*/..Xp|rint_pro|
|00002860| 63 65 73 73 20 28 6c 65 | 76 65 6c 2c 20 73 76 70 |cess (le|vel, svp|
|00002870| 29 0a 09 58 69 6e 74 09 | 09 6c 65 76 65 6c 3b 0a |)..Xint.|.level;.|
|00002880| 09 58 73 74 72 75 63 74 | 09 73 61 76 65 09 2a 73 |.Xstruct|.save.*s|
|00002890| 76 70 3b 0a 09 58 09 7b | 0a 09 58 09 73 74 72 75 |vp;..X.{|..X.stru|
|000028a0| 63 74 09 73 61 76 65 09 | 2a 74 70 3b 0a 09 58 09 |ct.save.|*tp;..X.|
|000028b0| 72 65 67 69 73 74 65 72 | 20 69 6e 74 09 69 3b 0a |register| int.i;.|
|000028c0| 09 58 0a 09 58 09 69 66 | 20 28 21 50 72 69 6e 74 |.X..X.if| (!Print|
|000028d0| 5f 6d 65 20 26 26 20 73 | 76 70 2d 3e 73 6f 5f 70 |_me && s|vp->so_p|
|000028e0| 69 64 20 3d 3d 20 4d 79 | 5f 70 69 64 29 20 72 65 |id == My|_pid) re|
|000028f0| 74 75 72 6e 3b 0a 09 58 | 09 69 66 20 28 50 72 69 |turn;..X|.if (Pri|
|00002900| 6e 74 5f 70 69 64 29 20 | 70 72 69 6e 74 66 20 28 |nt_pid) |printf (|
|00002910| 22 25 35 64 20 22 2c 20 | 73 76 70 2d 3e 73 6f 5f |"%5d ", |svp->so_|
|00002920| 70 69 64 29 3b 0a 09 58 | 09 70 72 69 6e 74 66 20 |pid);..X|.printf |
|00002930| 28 22 25 38 73 20 25 2e | 2a 73 22 2c 20 73 76 70 |("%8s %.|*s", svp|
|00002940| 2d 3e 73 6f 5f 6e 61 6d | 65 2c 20 43 6f 6d 6d 61 |->so_nam|e, Comma|
|00002950| 6e 64 5f 6f 66 66 73 65 | 74 20 2d 20 53 74 61 74 |nd_offse|t - Stat|
|00002960| 5f 6f 66 66 73 65 74 2c | 0a 09 58 09 09 26 73 76 |_offset,|..X..&sv|
|00002970| 70 2d 3e 73 6f 5f 62 75 | 66 66 65 72 5b 53 74 61 |p->so_bu|ffer[Sta|
|00002980| 74 5f 6f 66 66 73 65 74 | 5d 29 3b 0a 09 58 09 66 |t_offset|]);..X.f|
|00002990| 6f 72 20 28 69 3d 30 3b | 20 69 3c 6c 65 76 65 6c |or (i=0;| i<level|
|000029a0| 3b 20 69 2b 2b 29 20 70 | 72 69 6e 74 66 20 28 22 |; i++) p|rintf ("|
|000029b0| 7c 20 20 22 29 3b 0a 09 | 58 09 70 72 69 6e 74 66 || ");..|X.printf|
|000029c0| 20 28 22 25 73 22 2c 20 | 26 73 76 70 2d 3e 73 6f | ("%s", |&svp->so|
|000029d0| 5f 62 75 66 66 65 72 5b | 43 6f 6d 6d 61 6e 64 5f |_buffer[|Command_|
|000029e0| 6f 66 66 73 65 74 5d 29 | 3b 0a 09 58 09 69 66 20 |offset])|;..X.if |
|000029f0| 28 28 74 70 20 3d 20 73 | 76 70 2d 3e 73 6f 5f 63 |((tp = s|vp->so_c|
|00002a00| 68 69 6c 64 29 20 21 3d | 20 4e 55 4c 4c 29 20 7b |hild) !=| NULL) {|
|00002a10| 0a 09 58 09 09 77 68 69 | 6c 65 20 28 74 70 20 21 |..X..whi|le (tp !|
|00002a20| 3d 20 4e 55 4c 4c 29 20 | 7b 0a 09 58 09 09 09 69 |= NULL) |{..X...i|
|00002a30| 66 20 28 74 70 20 21 3d | 20 73 76 70 29 09 09 2f |f (tp !=| svp)../|
|00002a40| 2a 20 61 76 6f 69 64 20 | 69 6e 66 69 6e 69 74 20 |* avoid |infinit |
|00002a50| 72 65 63 75 72 73 69 6f | 6e 20 2a 2f 0a 09 58 09 |recursio|n */..X.|
|00002a60| 09 09 09 70 72 69 6e 74 | 5f 70 72 6f 63 65 73 73 |...print|_process|
|00002a70| 20 28 6c 65 76 65 6c 2b | 31 2c 20 74 70 29 3b 0a | (level+|1, tp);.|
|00002a80| 09 58 09 09 09 74 70 20 | 3d 20 74 70 2d 3e 73 6f |.X...tp |= tp->so|
|00002a90| 5f 73 69 62 6c 69 6e 67 | 3b 0a 09 58 09 09 09 7d |_sibling|;..X...}|
|00002aa0| 0a 09 58 09 09 7d 0a 09 | 58 09 7d 0a 09 58 0c 0a |..X..}..|X.}..X..|
|00002ab0| 09 58 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X/*----|--------|
|00002ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002af0| 2d 30 35 2f 32 33 2f 38 | 38 2d 2b 0a 09 58 7c 09 |-05/23/8|8-+..X|.|
|00002b00| 09 09 09 09 09 09 09 09 | 7c 0a 09 58 7c 09 20 20 |........||..X|. |
|00002b10| 20 20 20 20 64 75 6d 70 | 5f 73 61 76 65 20 3a 20 | dump|_save : |
|00002b20| 64 75 6d 70 20 73 61 76 | 65 20 73 74 72 75 63 74 |dump sav|e struct|
|00002b30| 75 72 65 20 66 6f 72 20 | 64 65 62 75 67 67 69 6e |ure for |debuggin|
|00002b40| 67 09 09 7c 0a 09 58 7c | 09 09 09 09 09 09 09 09 |g..|..X||........|
|00002b50| 09 7c 0a 09 58 2b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.|..X+--|--------|
|00002b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0a 09 |--------|----*/..|
|00002ba0| 58 23 69 66 64 65 66 09 | 44 45 42 55 47 0a 09 58 |X#ifdef.|DEBUG..X|
|00002bb0| 64 75 6d 70 5f 73 61 76 | 65 20 28 29 0a 09 58 09 |dump_sav|e ()..X.|
|00002bc0| 7b 0a 09 58 09 72 65 67 | 69 73 74 65 72 20 69 6e |{..X.reg|ister in|
|00002bd0| 74 09 09 69 3b 0a 09 58 | 09 72 65 67 69 73 74 65 |t..i;..X|.registe|
|00002be0| 72 20 73 74 72 75 63 74 | 09 73 61 76 65 09 2a 74 |r struct|.save.*t|
|00002bf0| 70 3b 0a 09 58 0a 09 58 | 09 66 6f 72 20 28 69 3d |p;..X..X|.for (i=|
|00002c00| 31 3b 20 69 3c 4c 69 6e | 65 3b 20 69 2b 2b 29 20 |1; i<Lin|e; i++) |
|00002c10| 7b 0a 09 58 09 09 74 70 | 20 3d 20 26 53 61 76 65 |{..X..tp| = &Save|
|00002c20| 5b 69 5d 3b 0a 09 58 09 | 09 70 72 69 6e 74 66 20 |[i];..X.|.printf |
|00002c30| 28 22 70 61 72 65 6e 74 | 3d 25 30 38 78 28 78 29 |("parent|=%08x(x)|
|00002c40| 20 22 2c 20 74 70 2d 3e | 73 6f 5f 70 61 72 65 6e | ", tp->|so_paren|
|00002c50| 74 29 3b 0a 09 58 09 09 | 70 72 69 6e 74 66 20 28 |t);..X..|printf (|
|00002c60| 22 73 69 62 6c 69 6e 67 | 3d 25 30 38 78 28 78 29 |"sibling|=%08x(x)|
|00002c70| 20 22 2c 20 74 70 2d 3e | 73 6f 5f 73 69 62 6c 69 | ", tp->|so_sibli|
|00002c80| 6e 67 29 3b 0a 09 58 09 | 09 70 72 69 6e 74 66 20 |ng);..X.|.printf |
|00002c90| 28 22 63 68 69 6c 64 3d | 25 30 38 78 28 78 29 20 |("child=|%08x(x) |
|00002ca0| 22 2c 20 74 70 2d 3e 73 | 6f 5f 63 68 69 6c 64 29 |", tp->s|o_child)|
|00002cb0| 3b 0a 09 58 09 09 70 72 | 69 6e 74 66 20 28 22 50 |;..X..pr|intf ("P|
|00002cc0| 49 44 3d 25 30 35 64 20 | 50 50 49 44 3d 25 30 35 |ID=%05d |PPID=%05|
|00002cd0| 64 5c 6e 22 2c 20 74 70 | 2d 3e 73 6f 5f 70 69 64 |d\n", tp|->so_pid|
|00002ce0| 2c 20 74 70 2d 3e 73 6f | 5f 70 70 69 64 29 3b 0a |, tp->so|_ppid);.|
|00002cf0| 09 58 09 09 7d 0a 09 58 | 09 70 72 69 6e 74 66 20 |.X..}..X|.printf |
|00002d00| 28 22 63 6f 6d 6d 61 6e | 64 3a 20 5b 25 73 5d 5c |("comman|d: [%s]\|
|00002d10| 6e 22 2c 20 43 6f 6d 6d | 61 6e 64 29 3b 0a 09 58 |n", Comm|and);..X|
|00002d20| 09 7d 0a 09 58 23 65 6e | 64 69 66 0a 09 58 0c 0a |.}..X#en|dif..X..|
|00002d30| 09 58 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X/*----|--------|
|00002d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d70| 30 35 2f 32 34 2f 38 38 | 2d 2d 2b 0a 09 58 7c 09 |05/24/88|--+..X|.|
|00002d80| 09 09 09 09 09 09 09 09 | 7c 0a 09 58 7c 09 20 20 |........||..X|. |
|00002d90| 20 70 72 6f 63 61 72 67 | 20 3a 20 72 65 74 75 72 | procarg| : retur|
|00002da0| 6e 20 63 6f 6d 6d 61 6e | 64 20 61 72 67 75 6d 65 |n comman|d argume|
|00002db0| 6e 74 20 66 6f 72 20 70 | 73 20 63 6f 6d 6d 61 6e |nt for p|s comman|
|00002dc0| 64 09 09 7c 0a 09 58 7c | 09 09 09 09 09 09 09 09 |d..|..X||........|
|00002dd0| 09 7c 0a 09 58 2b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.|..X+--|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0a 09 |--------|----*/..|
|00002e20| 58 63 68 61 72 09 2a 0a | 09 58 70 72 6f 63 61 72 |Xchar.*.|.Xprocar|
|00002e30| 67 20 28 61 72 67 63 2c | 20 61 72 67 76 29 0a 09 |g (argc,| argv)..|
|00002e40| 58 69 6e 74 09 61 72 67 | 63 3b 0a 09 58 63 68 61 |Xint.arg|c;..Xcha|
|00002e50| 72 09 2a 2a 61 72 67 76 | 3b 0a 09 58 09 7b 0a 09 |r.**argv|;..X.{..|
|00002e60| 58 09 73 74 61 74 69 63 | 09 63 68 61 72 09 62 75 |X.static|.char.bu|
|00002e70| 66 20 5b 32 30 5d 20 3d | 20 22 22 3b 0a 09 58 09 |f [20] =| "";..X.|
|00002e80| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 09 63 3b |register| char.c;|
|00002e90| 0a 09 58 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |..X.regi|ster cha|
|00002ea0| 72 09 2a 70 20 3d 20 61 | 72 67 76 5b 31 5d 3b 0a |r.*p = a|rgv[1];.|
|00002eb0| 09 58 09 69 6e 74 09 09 | 69 20 3d 20 30 3b 0a 09 |.X.int..|i = 0;..|
|00002ec0| 58 0a 09 58 09 69 66 20 | 28 61 72 67 63 20 3d 3d |X..X.if |(argc ==|
|00002ed0| 20 31 29 20 72 65 74 75 | 72 6e 20 28 62 75 66 29 | 1) retu|rn (buf)|
|00002ee0| 3b 0a 09 58 09 77 68 69 | 6c 65 20 28 28 63 20 3d |;..X.whi|le ((c =|
|00002ef0| 20 2a 70 2b 2b 29 20 21 | 3d 20 27 5c 30 27 29 20 | *p++) !|= '\0') |
|00002f00| 7b 0a 09 58 09 09 73 77 | 69 74 63 68 20 28 63 29 |{..X..sw|itch (c)|
|00002f10| 20 7b 0a 09 58 09 09 09 | 63 61 73 65 20 27 50 27 | {..X...|case 'P'|
|00002f20| 3a 09 50 72 69 6e 74 5f | 6d 65 20 3d 20 59 45 53 |:.Print_|me = YES|
|00002f30| 3b 09 09 62 72 65 61 6b | 3b 0a 09 58 09 09 09 63 |;..break|;..X...c|
|00002f40| 61 73 65 20 27 70 27 3a | 09 50 72 69 6e 74 5f 70 |ase 'p':|.Print_p|
|00002f50| 69 64 20 3d 20 59 45 53 | 3b 09 62 72 65 61 6b 3b |id = YES|;.break;|
|00002f60| 0a 09 58 09 09 09 63 61 | 73 65 20 27 48 27 3a 09 |..X...ca|se 'H':.|
|00002f70| 75 73 61 67 65 20 28 61 | 72 67 76 5b 30 5d 29 3b |usage (a|rgv[0]);|
|00002f80| 09 65 78 69 74 20 28 30 | 29 3b 0a 09 58 09 09 09 |.exit (0|);..X...|
|00002f90| 63 61 73 65 20 27 61 27 | 3a 20 63 61 73 65 20 27 |case 'a'|: case '|
|00002fa0| 63 27 3a 20 63 61 73 65 | 20 27 65 27 3a 20 63 61 |c': case| 'e': ca|
|00002fb0| 73 65 20 27 67 27 3a 0a | 09 58 09 09 09 63 61 73 |se 'g':.|.X...cas|
|00002fc0| 65 20 27 78 27 3a 09 62 | 75 66 5b 69 2b 2b 5d 20 |e 'x':.b|uf[i++] |
|00002fd0| 3d 20 63 3b 09 09 62 72 | 65 61 6b 3b 0a 09 58 09 |= c;..br|eak;..X.|
|00002fe0| 09 09 63 61 73 65 20 27 | 74 27 3a 09 73 74 72 63 |..case '|t':.strc|
|00002ff0| 70 79 20 28 26 62 75 66 | 5b 69 5d 2c 20 70 2d 31 |py (&buf|[i], p-1|
|00003000| 29 3b 09 72 65 74 75 72 | 6e 20 28 62 75 66 29 3b |);.retur|n (buf);|
|00003010| 0a 09 58 09 09 09 64 65 | 66 61 75 6c 74 3a 09 75 |..X...de|fault:.u|
|00003020| 73 61 67 65 20 28 61 72 | 67 76 5b 30 5d 29 3b 20 |sage (ar|gv[0]); |
|00003030| 65 78 69 74 20 28 31 29 | 3b 0a 09 58 09 09 09 7d |exit (1)|;..X...}|
|00003040| 0a 09 58 09 09 7d 0a 09 | 58 09 62 75 66 20 5b 69 |..X..}..|X.buf [i|
|00003050| 5d 20 3d 20 27 5c 30 27 | 3b 0a 09 58 09 72 65 74 |] = '\0'|;..X.ret|
|00003060| 75 72 6e 20 28 62 75 66 | 29 3b 0a 09 58 09 7d 0a |urn (buf|);..X.}.|
|00003070| 09 58 0a 09 58 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.X..X/*-|--------|
|00003080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030b0| 2d 2d 2d 2d 30 37 2f 30 | 31 2f 38 36 2d 2b 0a 09 |----07/0|1/86-+..|
|000030c0| 58 7c 09 09 09 09 09 09 | 09 09 09 7c 0a 09 58 7c |X|......|...|..X||
|000030d0| 09 09 20 20 20 20 75 73 | 61 67 65 20 3a 20 64 69 |.. us|age : di|
|000030e0| 73 70 6c 61 79 20 68 65 | 6c 70 20 6d 65 73 73 61 |splay he|lp messa|
|000030f0| 67 65 09 09 09 7c 0a 09 | 58 7c 09 09 09 09 09 09 |ge...|..|X|......|
|00003100| 09 09 09 7c 0a 09 58 2b | 2d 2d 2d 2d 2d 2d 2d 2d |...|..X+|--------|
|00003110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00003150| 0a 09 58 73 74 61 74 69 | 63 20 75 73 61 67 65 20 |..Xstati|c usage |
|00003160| 28 70 6e 61 6d 65 29 0a | 09 58 63 68 61 72 09 2a |(pname).|.Xchar.*|
|00003170| 70 6e 61 6d 65 3b 09 09 | 09 2f 2a 20 70 72 6f 67 |pname;..|./* prog|
|00003180| 72 61 6d 20 6e 61 6d 65 | 20 2a 2f 0a 09 58 09 7b |ram name| */..X.{|
|00003190| 0a 09 58 09 66 70 72 69 | 6e 74 66 20 28 73 74 64 |..X.fpri|ntf (std|
|000031a0| 65 72 72 2c 20 22 25 73 | 20 20 25 73 20 20 25 73 |err, "%s| %s %s|
|000031b0| 5c 6e 22 2c 20 70 6e 61 | 6d 65 2c 20 56 65 72 73 |\n", pna|me, Vers|
|000031c0| 69 6f 6e 2c 20 41 75 74 | 68 6f 72 29 3b 0a 09 58 |ion, Aut|hor);..X|
|000031d0| 09 66 70 72 69 6e 74 66 | 20 28 73 74 64 65 72 72 |.fprintf| (stderr|
|000031e0| 2c 20 22 55 73 61 67 65 | 3a 20 25 73 20 5b 61 63 |, "Usage|: %s [ac|
|000031f0| 65 70 67 74 78 48 50 5d | 5c 6e 22 2c 20 70 6e 61 |epgtxHP]|\n", pna|
|00003200| 6d 65 29 3b 0a 09 58 09 | 66 70 72 69 6e 74 66 20 |me);..X.|fprintf |
|00003210| 28 73 74 64 65 72 72 2c | 20 22 77 68 65 72 65 20 |(stderr,| "where |
|00003220| 6f 70 74 69 6f 6e 73 3a | 5c 6e 22 29 3b 0a 09 58 |options:|\n");..X|
|00003230| 09 66 70 72 69 6e 74 66 | 20 28 73 74 64 65 72 72 |.fprintf| (stderr|
|00003240| 2c 20 22 20 20 48 20 20 | 20 20 20 20 20 20 20 20 |, " H | |
|00003250| 20 20 20 20 64 69 73 70 | 6c 61 79 20 74 68 69 73 | disp|lay this|
|00003260| 20 68 65 6c 70 20 6d 65 | 73 73 61 67 65 5c 6e 22 | help me|ssage\n"|
|00003270| 29 3b 0a 09 58 09 66 70 | 72 69 6e 74 66 20 28 73 |);..X.fp|rintf (s|
|00003280| 74 64 65 72 72 2c 20 22 | 20 20 50 20 20 20 20 20 |tderr, "| P |
|00003290| 20 20 20 20 20 20 20 20 | 20 70 72 69 6e 74 20 70 | | print p|
|000032a0| 72 6f 63 65 73 73 65 73 | 20 63 72 65 61 74 65 64 |rocesses| created|
|000032b0| 20 62 79 20 6d 65 5c 6e | 22 29 3b 0a 09 58 09 66 | by me\n|");..X.f|
|000032c0| 70 72 69 6e 74 66 20 28 | 73 74 64 65 72 72 2c 20 |printf (|stderr, |
|000032d0| 22 20 20 70 20 20 20 20 | 20 20 20 20 20 20 20 20 |" p | |
|000032e0| 20 20 6f 75 74 70 75 74 | 20 50 49 44 5c 6e 22 29 | output| PID\n")|
|000032f0| 3b 0a 09 58 09 66 70 72 | 69 6e 74 66 20 28 73 74 |;..X.fpr|intf (st|
|00003300| 64 65 72 72 2c 20 22 20 | 20 61 2c 63 2c 65 2c 67 |derr, " | a,c,e,g|
|00003310| 2c 74 2c 78 20 20 20 20 | 77 69 6c 6c 20 62 65 20 |,t,x |will be |
|00003320| 70 61 73 73 65 64 20 74 | 6f 20 70 73 2c 20 69 66 |passed t|o ps, if|
|00003330| 20 74 20 69 73 5c 6e 22 | 29 3b 0a 09 58 09 66 70 | t is\n"|);..X.fp|
|00003340| 72 69 6e 74 66 20 28 73 | 74 64 65 72 72 2c 20 22 |rintf (s|tderr, "|
|00003350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003360| 20 73 70 65 63 69 66 69 | 65 64 2c 20 61 6c 6c 20 | specifi|ed, all |
|00003370| 74 68 65 20 72 65 73 74 | 20 63 68 61 72 20 69 6e |the rest| char in|
|00003380| 5c 6e 22 29 3b 0a 09 58 | 09 66 70 72 69 6e 74 66 |\n");..X|.fprintf|
|00003390| 20 28 73 74 64 65 72 72 | 2c 20 22 20 20 20 20 20 | (stderr|, " |
|000033a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 74 68 65 20 | | the |
|000033b0| 61 72 67 75 6d 65 6e 74 | 20 77 69 6c 6c 20 62 65 |argument| will be|
|000033c0| 20 63 6f 70 69 65 64 5c | 6e 22 29 3b 0a 09 58 09 | copied\|n");..X.|
|000033d0| 7d 0a 53 48 41 52 5f 45 | 4f 46 0a 69 66 20 74 65 |}.SHAR_E|OF.if te|
|000033e0| 73 74 20 38 38 38 33 20 | 2d 6e 65 20 22 60 77 63 |st 8883 |-ne "`wc|
|000033f0| 20 2d 63 20 3c 20 27 70 | 74 72 65 65 2e 63 27 60 | -c < 'p|tree.c'`|
|00003400| 22 0a 74 68 65 6e 0a 09 | 65 63 68 6f 20 73 68 61 |".then..|echo sha|
|00003410| 72 3a 20 65 72 72 6f 72 | 20 74 72 61 6e 73 6d 69 |r: error| transmi|
|00003420| 74 74 69 6e 67 20 22 27 | 70 74 72 65 65 2e 63 27 |tting "'|ptree.c'|
|00003430| 22 20 27 28 73 68 6f 75 | 6c 64 20 68 61 76 65 20 |" '(shou|ld have |
|00003440| 62 65 65 6e 20 38 38 38 | 33 20 63 68 61 72 61 63 |been 888|3 charac|
|00003450| 74 65 72 73 29 27 0a 66 | 69 0a 66 69 20 23 20 65 |ters)'.f|i.fi # e|
|00003460| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00003470| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|00003480| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00003490| 4b 69 6c 6c 27 22 20 27 | 28 32 39 32 35 20 63 68 |Kill'" '|(2925 ch|
|000034a0| 61 72 61 63 74 65 72 73 | 29 27 0a 69 66 20 74 65 |aracters|)'.if te|
|000034b0| 73 74 20 2d 66 20 27 4b | 69 6c 6c 27 0a 74 68 65 |st -f 'K|ill'.the|
|000034c0| 6e 0a 09 65 63 68 6f 20 | 73 68 61 72 3a 20 77 69 |n..echo |shar: wi|
|000034d0| 6c 6c 20 6e 6f 74 20 6f | 76 65 72 2d 77 72 69 74 |ll not o|ver-writ|
|000034e0| 65 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |e existi|ng file |
|000034f0| 22 27 4b 69 6c 6c 27 22 | 0a 65 6c 73 65 0a 73 65 |"'Kill'"|.else.se|
|00003500| 64 20 27 73 2f 5e 09 58 | 2f 2f 27 20 3c 3c 20 5c |d 's/^.X|//' << \|
|00003510| 53 48 41 52 5f 45 4f 46 | 20 3e 20 27 4b 69 6c 6c |SHAR_EOF| > 'Kill|
|00003520| 27 0a 09 58 23 21 20 2f | 62 69 6e 2f 63 73 68 20 |'..X#! /|bin/csh |
|00003530| 2d 66 0a 09 58 23 0a 09 | 58 23 2d 09 4b 69 6c 6c |-f..X#..|X#-.Kill|
|00003540| 20 2d 20 6b 69 6c 6c 20 | 70 72 6f 63 65 73 73 20 | - kill |process |
|00003550| 77 69 74 68 20 73 68 65 | 6c 6c 20 66 6f 72 6d 20 |with she|ll form |
|00003560| 69 6e 74 65 72 66 61 63 | 65 0a 09 58 23 2d 0a 09 |interfac|e..X#-..|
|00003570| 58 23 2d 09 54 68 69 73 | 20 20 70 72 6f 67 72 61 |X#-.This| progra|
|00003580| 6d 20 77 69 6c 6c 20 75 | 73 65 20 20 73 68 65 6c |m will u|se shel|
|00003590| 6c 20 66 6f 72 6d 20 74 | 6f 20 20 20 64 69 73 70 |l form t|o disp|
|000035a0| 6c 61 79 20 63 75 72 72 | 65 6e 74 20 75 73 65 72 |lay curr|ent user|
|000035b0| 27 73 0a 09 58 23 2d 09 | 70 72 6f 63 65 73 73 20 |'s..X#-.|process |
|000035c0| 20 67 65 6e 65 72 61 74 | 65 64 20 62 79 20 20 70 | generat|ed by p|
|000035d0| 74 72 65 65 20 63 6f 6d | 6d 61 6e 64 2e 20 20 20 |tree com|mand. |
|000035e0| 20 59 6f 75 20 20 63 61 | 6e 20 20 74 61 62 20 74 | You ca|n tab t|
|000035f0| 6f 20 20 74 68 65 0a 09 | 58 23 2d 09 64 65 73 69 |o the..|X#-.desi|
|00003600| 72 65 64 20 70 72 6f 63 | 65 73 73 20 20 61 6e 64 |red proc|ess and|
|00003610| 20 73 65 6c 65 63 74 20 | 70 72 6f 70 65 72 20 73 | select |proper s|
|00003620| 69 67 6e 61 6c 20 74 6f | 20 20 62 65 20 20 73 65 |ignal to| be se|
|00003630| 6e 74 20 20 74 6f 20 74 | 68 65 0a 09 58 23 2d 09 |nt to t|he..X#-.|
|00003640| 70 72 6f 63 65 73 73 2e | 20 20 50 72 65 73 73 20 |process.| Press |
|00003650| 72 65 74 75 72 6e 20 77 | 69 6c 6c 20 74 72 69 67 |return w|ill trig|
|00003660| 67 65 72 20 74 68 65 20 | 61 63 74 69 6f 6e 2e 0a |ger the |action..|
|00003670| 09 58 23 2d 0a 09 58 23 | 09 41 75 74 68 6f 72 3a |.X#-..X#|.Author:|
|00003680| 09 09 50 61 75 6c 20 4c | 65 77 2c 20 47 65 6e 65 |..Paul L|ew, Gene|
|00003690| 72 61 6c 20 53 79 73 74 | 65 6d 73 20 47 72 6f 75 |ral Syst|ems Grou|
|000036a0| 70 2c 20 49 6e 63 2e 0a | 09 58 23 09 43 72 65 61 |p, Inc..|.X#.Crea|
|000036b0| 74 65 64 20 61 74 3a 09 | 30 35 2f 31 32 2f 38 38 |ted at:.|05/12/88|
|000036c0| 20 20 30 37 3a 35 36 20 | 50 4d 0a 09 58 23 09 4c | 07:56 |PM..X#.L|
|000036d0| 61 73 74 20 75 70 64 61 | 74 65 3a 09 30 37 2f 32 |ast upda|te:.07/2|
|000036e0| 36 2f 38 38 20 20 31 30 | 3a 35 36 20 41 4d 20 20 |6/88 10|:56 AM |
|000036f0| 28 45 64 69 74 69 6f 6e | 3a 20 33 32 29 0a 09 58 |(Edition|: 32)..X|
|00003700| 23 0a 09 58 23 2d 09 55 | 73 61 67 65 3a 09 09 4b |#..X#-.U|sage:..K|
|00003710| 69 6c 6c 20 5b 73 74 72 | 69 6e 67 5d 0a 09 58 23 |ill [str|ing]..X#|
|00003720| 2d 09 77 68 65 72 65 20 | 6f 70 74 69 6f 6e 3a 0a |-.where |option:.|
|00003730| 09 58 23 2d 09 09 73 74 | 72 69 6e 67 09 69 66 20 |.X#-..st|ring.if |
|00003740| 73 70 65 63 69 66 69 65 | 64 2c 20 77 69 6c 6c 20 |specifie|d, will |
|00003750| 64 6f 20 27 70 74 72 65 | 65 20 61 78 20 7c 20 67 |do 'ptre|e ax | g|
|00003760| 72 65 70 20 73 74 72 69 | 6e 67 27 0a 09 58 23 2d |rep stri|ng'..X#-|
|00003770| 09 09 09 61 6e 64 20 64 | 69 73 70 6c 61 79 20 6f |...and d|isplay o|
|00003780| 6e 6c 79 20 6d 61 74 63 | 68 65 64 20 70 72 6f 63 |nly matc|hed proc|
|00003790| 65 73 73 2e 0a 09 58 23 | 0a 09 58 73 65 74 20 74 |ess...X#|..Xset t|
|000037a0| 6d 70 66 69 6c 65 20 3d | 20 22 2f 74 6d 70 2f 74 |mpfile =| "/tmp/t|
|000037b0| 6d 70 66 69 6c 65 2e 24 | 24 22 0a 09 58 73 65 74 |mpfile.$|$"..Xset|
|000037c0| 20 73 6f 66 69 6c 65 20 | 3d 20 22 2f 74 6d 70 2f | sofile |= "/tmp/|
|000037d0| 73 6f 66 69 6c 65 2e 24 | 24 22 0a 09 58 73 65 74 |sofile.$|$"..Xset|
|000037e0| 20 70 74 66 69 6c 65 20 | 3d 20 22 2f 74 6d 70 2f | ptfile |= "/tmp/|
|000037f0| 70 74 66 69 6c 65 2e 24 | 24 22 0a 09 58 23 2d 2d |ptfile.$|$"..X#--|
|00003800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 23 0a 09 |--------|-----#..|
|00003840| 58 23 09 20 20 20 20 20 | 20 44 69 73 70 6c 61 79 |X#. | Display|
|00003850| 20 68 65 6c 70 20 69 66 | 20 72 65 71 75 65 73 74 | help if| request|
|00003860| 65 64 20 62 79 20 75 73 | 65 72 09 09 09 23 0a 09 |ed by us|er...#..|
|00003870| 58 23 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |X#------|--------|
|00003880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038b0| 2d 23 0a 09 58 73 77 69 | 74 63 68 20 28 20 22 24 |-#..Xswi|tch ( "$|
|000038c0| 31 22 20 29 0a 09 58 09 | 63 61 73 65 20 2d 48 5b |1" )..X.|case -H[|
|000038d0| 78 58 5d 3a 0a 09 58 09 | 09 73 65 74 20 65 63 68 |xX]:..X.|.set ech|
|000038e0| 6f 3b 20 73 65 74 20 76 | 65 72 62 6f 73 65 3b 20 |o; set v|erbose; |
|000038f0| 73 68 69 66 74 0a 09 58 | 09 09 62 72 65 61 6b 73 |shift..X|..breaks|
|00003900| 77 0a 09 58 09 63 61 73 | 65 20 2d 48 2a 3a 0a 09 |w..X.cas|e -H*:..|
|00003910| 58 09 09 73 68 6f 77 5f | 68 65 6c 70 20 60 77 68 |X..show_|help `wh|
|00003920| 69 63 68 20 24 30 60 20 | 24 31 0a 09 58 09 09 67 |ich $0` |$1..X..g|
|00003930| 6f 74 6f 20 65 6e 64 0a | 09 58 09 64 65 66 61 75 |oto end.|.X.defau|
|00003940| 6c 74 3a 0a 09 58 09 65 | 6e 64 73 77 0a 09 58 23 |lt:..X.e|ndsw..X#|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 23 |--------|-------#|
|00003990| 0a 09 58 23 09 09 09 50 | 72 6f 63 65 73 73 20 41 |..X#...P|rocess A|
|000039a0| 72 67 75 6d 65 6e 74 73 | 09 09 09 23 0a 09 58 23 |rguments|...#..X#|
|000039b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 23 |--------|-------#|
|000039f0| 0a 09 58 73 65 74 20 67 | 72 65 70 61 72 67 20 3d |..Xset g|reparg =|
|00003a00| 20 27 2e 27 0a 09 58 73 | 65 74 20 70 74 66 6c 61 | '.'..Xs|et ptfla|
|00003a10| 67 20 3d 20 27 78 27 0a | 09 58 69 66 20 28 20 22 |g = 'x'.|.Xif ( "|
|00003a20| 24 31 22 20 21 3d 20 27 | 27 20 29 20 74 68 65 6e |$1" != '|' ) then|
|00003a30| 0a 09 58 09 73 65 74 20 | 67 72 65 70 61 72 67 20 |..X.set |greparg |
|00003a40| 3d 20 24 31 0a 09 58 09 | 73 65 74 20 70 74 66 6c |= $1..X.|set ptfl|
|00003a50| 61 67 20 3d 20 27 61 78 | 27 0a 09 58 09 65 6e 64 |ag = 'ax|'..X.end|
|00003a60| 69 66 0a 09 58 23 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |if..X#--|--------|
|00003a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003aa0| 2d 2d 2d 2d 2d 23 0a 09 | 58 23 09 09 20 20 43 72 |-----#..|X#.. Cr|
|00003ab0| 65 61 74 65 20 73 66 20 | 64 65 73 63 72 69 70 74 |eate sf |descript|
|00003ac0| 69 6f 6e 20 66 69 6c 65 | 09 09 09 23 0a 09 58 23 |ion file|...#..X#|
|00003ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 23 |--------|-------#|
|00003b10| 0a 09 58 70 74 20 70 24 | 70 74 66 6c 61 67 20 3e |..Xpt p$|ptflag >|
|00003b20| 20 24 74 6d 70 66 69 6c | 65 0a 09 58 74 72 20 27 | $tmpfil|e..Xtr '|
|00003b30| 7e 27 20 27 3f 27 20 3c | 20 24 74 6d 70 66 69 6c |~' '?' <| $tmpfil|
|00003b40| 65 20 7c 20 73 65 64 20 | 2d 6e 20 5c 0a 09 58 20 |e | sed |-n \..X |
|00003b50| 20 20 2d 65 20 27 31 73 | 2f 43 4f 4d 4d 41 4e 44 | -e '1s|/COMMAND|
|00003b60| 2f 53 49 47 4e 41 4c 20 | 26 2f 70 3b 31 64 27 20 |/SIGNAL |&/p;1d' |
|00003b70| 5c 0a 09 58 20 20 20 2d | 65 20 20 27 2f 4b 69 6c |\..X -|e '/Kil|
|00003b80| 6c 2f 64 27 20 5c 0a 09 | 58 20 20 20 2d 65 20 22 |l/d' \..|X -e "|
|00003b90| 2f 24 67 72 65 70 61 72 | 67 2f 22 27 7b 3b 73 2f |/$grepar|g/"'{;s/|
|00003ba0| 5e 5c 28 2e 2e 2e 2e 2e | 2e 2e 2e 2e 2e 2e 2e 2e |^\(.....|........|
|00003bb0| 2e 2e 2e 2e 2e 2e 2e 2e | 2e 2e 2e 2e 2e 2e 2e 2e |........|........|
|00003bc0| 2e 5c 29 5c 28 2e 2a 5c | 29 24 2f 5c 31 7e 7e 7e |.\)\(.*\|)$/\1~~~|
|00003bd0| 7e 7e 7e 20 5c 32 2f 70 | 3b 7d 27 20 5c 0a 09 58 |~~~ \2/p|;}' \..X|
|00003be0| 20 20 20 3e 20 24 70 74 | 66 69 6c 65 0a 09 58 73 | > $pt|file..Xs|
|00003bf0| 65 64 20 27 73 2f 5e 2e | 2e 2e 2e 2e 2e 2f 2f 27 |ed 's/^.|.....//'|
|00003c00| 20 24 70 74 66 69 6c 65 | 20 7c 20 63 6f 6c 72 6d | $ptfile| | colrm|
|00003c10| 20 38 30 20 3e 20 24 74 | 6d 70 66 69 6c 65 0a 09 | 80 > $t|mpfile..|
|00003c20| 58 40 20 6c 63 6f 75 6e | 74 20 3d 20 60 63 61 74 |X@ lcoun|t = `cat|
|00003c30| 20 24 74 6d 70 66 69 6c | 65 20 7c 20 77 63 20 2d | $tmpfil|e | wc -|
|00003c40| 6c 60 0a 09 58 40 20 6c | 63 6f 75 6e 74 2d 2d 0a |l`..X@ l|count--.|
|00003c50| 09 58 69 66 20 28 20 24 | 6c 63 6f 75 6e 74 20 3d |.Xif ( $|lcount =|
|00003c60| 3d 20 30 20 29 20 74 68 | 65 6e 0a 09 58 09 65 63 |= 0 ) th|en..X.ec|
|00003c70| 68 6f 20 22 2e 2e 2e 50 | 61 74 74 65 72 6e 20 24 |ho "...P|attern $|
|00003c80| 67 72 65 70 61 72 67 20 | 6e 6f 74 20 66 6f 75 6e |greparg |not foun|
|00003c90| 64 20 69 6e 20 70 74 20 | 6c 69 73 74 2c 20 61 62 |d in pt |list, ab|
|00003ca0| 6f 72 74 65 64 2e 2e 2e | 22 0a 09 58 09 67 6f 74 |orted...|"..X.got|
|00003cb0| 6f 20 65 6e 64 0a 09 58 | 09 65 6e 64 69 66 0a 09 |o end..X|.endif..|
|00003cc0| 58 63 61 74 20 3c 3c 20 | 63 61 74 5f 65 6f 66 20 |Xcat << |cat_eof |
|00003cd0| 3e 3e 20 24 74 6d 70 66 | 69 6c 65 0a 09 58 0a 09 |>> $tmpf|ile..X..|
|00003ce0| 58 5b 54 41 42 20 28 6e | 65 78 74 20 70 72 6f 63 |X[TAB (n|ext proc|
|00003cf0| 65 73 73 29 2c 20 53 50 | 41 43 45 20 28 6e 65 78 |ess), SP|ACE (nex|
|00003d00| 74 20 73 69 67 6e 61 6c | 29 2c 20 2d 20 28 6e 6f |t signal|), - (no|
|00003d10| 20 73 69 67 6e 61 6c 29 | 2c 20 52 45 54 55 52 4e | signal)|, RETURN|
|00003d20| 20 28 65 78 65 63 75 74 | 65 29 5d 0a 09 58 0c 0a | (execut|e)]..X..|
|00003d30| 09 58 63 61 74 5f 65 6f | 66 0a 09 58 40 20 69 20 |.Xcat_eo|f..X@ i |
|00003d40| 3d 20 30 0a 09 58 73 65 | 74 20 73 69 67 20 3d 20 |= 0..Xse|t sig = |
|00003d50| 22 2f 2d 20 20 20 20 20 | 2f 48 55 50 2f 49 4e 54 |"/- |/HUP/INT|
|00003d60| 2f 51 55 49 54 2f 49 4c | 4c 2f 54 52 41 50 2f 41 |/QUIT/IL|L/TRAP/A|
|00003d70| 42 52 54 2f 45 4d 54 2f | 46 50 45 2f 4b 49 4c 4c |BRT/EMT/|FPE/KILL|
|00003d80| 2f 42 55 53 2f 53 45 47 | 56 2f 53 59 53 22 0a 09 |/BUS/SEG|V/SYS"..|
|00003d90| 58 73 65 74 20 73 69 67 | 20 3d 20 22 24 73 69 67 |Xset sig| = "$sig|
|00003da0| 2f 50 49 50 45 2f 41 4c | 52 4d 2f 54 45 52 4d 2f |/PIPE/AL|RM/TERM/|
|00003db0| 55 52 47 2f 53 54 4f 50 | 2f 54 53 54 50 2f 43 4f |URG/STOP|/TSTP/CO|
|00003dc0| 4e 54 2f 43 48 4c 44 2f | 54 54 49 4e 2f 54 54 4f |NT/CHLD/|TTIN/TTO|
|00003dd0| 55 2f 49 4f 2f 58 43 50 | 55 22 0a 09 58 73 65 74 |U/IO/XCP|U"..Xset|
|00003de0| 20 73 69 67 20 3d 20 22 | 24 73 69 67 2f 58 46 53 | sig = "|$sig/XFS|
|00003df0| 5a 2f 56 54 41 4c 52 4d | 2f 50 52 4f 46 2f 55 53 |Z/VTALRM|/PROF/US|
|00003e00| 52 31 2f 55 53 52 32 2f | 50 57 52 2f 4c 4f 53 54 |R1/USR2/|PWR/LOST|
|00003e10| 2f 22 0a 09 58 77 68 69 | 6c 65 20 28 20 24 69 20 |/"..Xwhi|le ( $i |
|00003e20| 3c 20 24 6c 63 6f 75 6e | 74 20 29 0a 09 58 09 40 |< $lcoun|t )..X.@|
|00003e30| 20 69 2b 2b 0a 09 58 09 | 65 63 68 6f 20 22 2e 76 | i++..X.|echo ".v|
|00003e40| 3d 76 61 72 24 69 2e 73 | 3d 24 73 69 67 2e 22 20 |=var$i.s|=$sig." |
|00003e50| 3e 3e 20 24 74 6d 70 66 | 69 6c 65 0a 09 58 09 65 |>> $tmpf|ile..X.e|
|00003e60| 6e 64 0a 09 58 23 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |nd..X#--|--------|
|00003e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ea0| 2d 2d 2d 2d 2d 23 0a 09 | 58 23 09 09 20 20 20 72 |-----#..|X#.. r|
|00003eb0| 75 6e 20 73 66 20 74 6f | 20 67 65 74 20 75 73 65 |un sf to| get use|
|00003ec0| 72 20 69 6e 70 75 74 09 | 09 09 23 0a 09 58 23 2d |r input.|..#..X#-|
|00003ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 23 0a |--------|------#.|
|00003f10| 09 58 73 66 20 2d 75 20 | 2d 6f 20 24 73 6f 66 69 |.Xsf -u |-o $sofi|
|00003f20| 6c 65 20 3c 20 24 74 6d | 70 66 69 6c 65 0a 09 58 |le < $tm|pfile..X|
|00003f30| 69 66 20 28 20 21 20 2d | 65 20 24 73 6f 66 69 6c |if ( ! -|e $sofil|
|00003f40| 65 20 29 20 67 6f 74 6f | 20 65 6e 64 0a 09 58 73 |e ) goto| end..Xs|
|00003f50| 6f 75 72 63 65 20 24 73 | 6f 66 69 6c 65 0a 09 58 |ource $s|ofile..X|
|00003f60| 40 20 69 20 3d 20 30 0a | 09 58 77 68 69 6c 65 20 |@ i = 0.|.Xwhile |
|00003f70| 28 20 24 69 20 3c 20 24 | 6c 63 6f 75 6e 74 20 29 |( $i < $|lcount )|
|00003f80| 0a 09 58 09 40 20 69 2b | 2b 0a 09 58 09 73 65 74 |..X.@ i+|+..X.set|
|00003f90| 20 76 61 72 20 3d 20 60 | 65 76 61 6c 20 65 63 68 | var = `|eval ech|
|00003fa0| 6f 20 5c 24 76 61 72 24 | 69 60 0a 09 58 09 69 66 |o \$var$|i`..X.if|
|00003fb0| 20 28 20 22 24 76 61 72 | 22 20 21 3d 20 27 2d 27 | ( "$var|" != '-'|
|00003fc0| 20 29 20 74 68 65 6e 0a | 09 58 09 09 40 20 6c 69 | ) then.|.X..@ li|
|00003fd0| 6e 65 20 3d 20 24 69 20 | 2b 20 31 0a 09 58 09 09 |ne = $i |+ 1..X..|
|00003fe0| 6b 69 6c 6c 20 2d 24 76 | 61 72 20 60 73 65 64 20 |kill -$v|ar `sed |
|00003ff0| 2d 6e 20 22 24 6c 69 6e | 65 22 27 73 2f 5e 20 2a |-n "$lin|e"'s/^ *|
|00004000| 5c 28 5b 30 2d 39 5d 2a | 5c 29 2e 2a 24 2f 5c 31 |\([0-9]*|\).*$/\1|
|00004010| 2f 70 27 20 24 70 74 66 | 69 6c 65 60 0a 09 58 09 |/p' $ptf|ile`..X.|
|00004020| 09 65 6e 64 69 66 0a 09 | 58 09 65 6e 64 0a 09 58 |.endif..|X.end..X|
|00004030| 23 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |#-------|--------|
|00004040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004070| 23 0a 09 58 23 09 09 43 | 6c 65 61 6e 20 75 70 20 |#..X#..C|lean up |
|00004080| 61 6e 64 20 65 78 69 74 | 20 68 65 72 65 2e 2e 2e |and exit| here...|
|00004090| 09 09 09 23 0a 09 58 23 | 2d 2d 2d 2d 2d 2d 2d 2d |...#..X#|--------|
|000040a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000040d0| 2d 2d 2d 2d 2d 2d 2d 23 | 0a 09 58 65 6e 64 3a 0a |-------#|..Xend:.|
|000040e0| 09 58 09 2f 62 69 6e 2f | 72 6d 20 2d 66 20 24 74 |.X./bin/|rm -f $t|
|000040f0| 6d 70 66 69 6c 65 20 24 | 73 6f 66 69 6c 65 20 24 |mpfile $|sofile $|
|00004100| 70 74 66 69 6c 65 0a 09 | 58 09 75 6e 73 65 74 20 |ptfile..|X.unset |
|00004110| 74 6d 70 66 69 6c 65 20 | 73 6f 66 69 6c 65 20 70 |tmpfile |sofile p|
|00004120| 74 66 69 6c 65 20 69 20 | 6c 63 6f 75 6e 74 20 76 |tfile i |lcount v|
|00004130| 61 72 20 6c 69 6e 65 20 | 67 72 65 70 61 72 67 20 |ar line |greparg |
|00004140| 70 74 66 6c 61 67 0a 53 | 48 41 52 5f 45 4f 46 0a |ptflag.S|HAR_EOF.|
|00004150| 69 66 20 74 65 73 74 20 | 32 39 32 35 20 2d 6e 65 |if test |2925 -ne|
|00004160| 20 22 60 77 63 20 2d 63 | 20 3c 20 27 4b 69 6c 6c | "`wc -c| < 'Kill|
|00004170| 27 60 22 0a 74 68 65 6e | 0a 09 65 63 68 6f 20 73 |'`".then|..echo s|
|00004180| 68 61 72 3a 20 65 72 72 | 6f 72 20 74 72 61 6e 73 |har: err|or trans|
|00004190| 6d 69 74 74 69 6e 67 20 | 22 27 4b 69 6c 6c 27 22 |mitting |"'Kill'"|
|000041a0| 20 27 28 73 68 6f 75 6c | 64 20 68 61 76 65 20 62 | '(shoul|d have b|
|000041b0| 65 65 6e 20 32 39 32 35 | 20 63 68 61 72 61 63 74 |een 2925| charact|
|000041c0| 65 72 73 29 27 0a 66 69 | 0a 66 69 20 23 20 65 6e |ers)'.fi|.fi # en|
|000041d0| 64 20 6f 66 20 6f 76 65 | 72 77 72 69 74 69 6e 67 |d of ove|rwriting|
|000041e0| 20 63 68 65 63 6b 0a 23 | 09 45 6e 64 20 6f 66 20 | check.#|.End of |
|000041f0| 73 68 65 6c 6c 20 61 72 | 63 68 69 76 65 0a 65 78 |shell ar|chive.ex|
|00004200| 69 74 20 30 0a 0a 0a | |it 0... | |
+--------+-------------------------+-------------------------+--------+--------+