Hi, 
<div><br></div><div>I found that there are two problems in the script.</div><div><br></div><div> - trap &quot;pkill -P $$&quot; SIGINT can not kill previous cat process properly, so each time I&#39;ll get a &quot;device</div>

<div>busy&quot; error</div><div><br></div><div>- &quot;cat /dev/crbif0rb0c${i}ttyS0 | grep . --line-buffered &amp;&quot;  in the for loop can not display the </div><div>outputs properly: only empty lines are printed.</div>

<div><br></div><div>The following patch can solve these problem. Don&#39;t know if the script works fine in your case, just share</div><div>my experience.</div><div><br></div><div>Thanks,</div><div>Jinghao</div><div><br>
</div>
<div><div>diff -r 4a4b7bef6fcb tools/scc/watchall.sh</div><div>--- a/tools/scc/watchall.sh<span class="Apple-tab-span" style="white-space:pre">        </span>Fri Sep 02 10:50:53 2011 +0200</div><div>+++ b/tools/scc/watchall.sh<span class="Apple-tab-span" style="white-space:pre">        </span>Fri May 04 15:00:25 2012 +0800</div>

<div>@@ -2,12 +2,12 @@</div><div> #</div><div> # Shows output of all Barrelfish SCC cores simultaneously, as it arrives.</div><div> </div><div>-trap &quot;pkill -P $$&quot; SIGINT</div><div>+killall -v cat</div><div> </div>

<div> for i in `seq 0 47`; do</div><div> # XXX: We use grep here to enforce line-buffered output, so concurrent</div><div> # input from UARTs isn&#39;t garbled.</div><div>-    cat /dev/crbif0rb0c${i}ttyS0 | grep . --line-buffered &amp;</div>

<div>+    cat /dev/crbif0rb0c${i}ttyS0 | grep ^ --line-buffered &amp;</div><div> done</div><div> </div><div> wait</div></div><div><br></div>